I modified the code to create a schedule of symbols (filtered by wildcard string),
created by selection set (but including nested blocks)
and to include a specified number of attributes.
Can you think of any other way to do a schedule?
Once we have the schedule... We can talk about creating dialogs and tables.
P=
Code:
;___________________________________________________________________________________________________________|
;
; Written By: Peter Jamtgaard C.E., P.E., S.E. copyright 2018 All Rights Reserved
;___________________________________________________________________________________________________________|
;
; Any use by unauthorized person or business is strictly prohibited.
;___________________________________________________________________________________________________________|
;
; Abstract: This set of functions are created to demonstrate how to make block schedules with attributes
;___________________________________________________________________________________________________________|
;
; Command Line Function Header List
;___________________________________________________________________________________________________________|
;* C:BFAS
;* Command Line Function to output a list quantity of and block names and attributes
;* C:BlockFirstAttributeSchedule
;* Command Line Function to output a list quantity of and block names and attributes
;___________________________________________________________________________________________________________|
;
; General Function Header List
;___________________________________________________________________________________________________________|
; Function, Arguments and Description
;* (BlockFirstAttributeSchedule strWCBlockName strWCTagString)
;* Function to create a list of sublists of block counts from a wildcard string filter and number of attributes
;* (BlockDefinition objBlockReference)
;* Function to get the block definition of a block reference
;* (BlockFormatLine lstOfStrings)
;* Function to format a line of the report from a list of strings
;* (BlockHandleScheduleRecursive (objBlockDefinition)
;* Function to iterate through a block definition counting blocks (recursive) returns a list of handles
;* (BlockHandleToSublist strHandle)
;* Function to develop a list of sublists including blockname and tagstrings with values from a block.
;* (BlockSublistLengthSet lstSublist intAttributes)
;* Function to deduct or add to sublist for specified number of attributes
;* (ErrorTrap symFunction)
;* Function to trap errors. Returns value or T for success and nil for failure
;* (ListOfSublistsColumnsSort lstOfSublists)
;* Function to sort the columns of the tagstring values in the output
;* (ListofSublistsSortbyItem lstOfSublists intItem)
;* Function to sort a list of sublists in ascending order by a specific item in list (0 indexed)
;* (SublistCompress lstStrings)
;* Function to compress a list of sublists to include count, block name and attribute values
;* (TextFormat strString intWidth strRightorLeft)
;* Function to set text length (to intWidth characters) and justify text "R" or "L"
;* (ToObject value)
;* Function to convert a vla-object, entitynames, entsels, elists, handles or objectid's to a vla-object.
;$ Header End
See attachment for code