@john.uhden wrote:
Yes, I have seen it done neatly by keeping the variable data in the sheet of the drawing that will be plotted.
I would also consider using attributes. If you don't already have one, we can build you a routine that changes the attributes based on a simple text file, or CSV (which is the same animal by a different extension). It could be run automatically on each drawing open and for each insertion of the certification block. The only thing over which you would lose control is automatic line wrapping. You would have to position each attribute at the end of a line of text and leave enough room for a potentially long attribute value. F'rinstance "North Carolina" is quite a bit longer than "Ohio." But that's okay; you just don't take on any work in North Carolina, or South Carolina, or Pennsylvania, or Massachusetts. :]
The state length wouldn't be a problem since everything will be two characters. Here is how it works now. We have two routines that completes the process. The first routine copes a series of drawings over to the project directory based on selection of a dialog box. An ascii file gets created based on the selection that the user makes from the dialog box.
(setq filenm (STRCAT "P:\\" 4CHYEAR " PROJECTTYPE\\" 4CHYEAR " XXX\\" dirname "\\TITLE.ASC"))
(setq ln1 GAREA)
(setq ln2 SAREA)
(setq ln3 PNO)
(setq ln4 AUTH)
(setq ln5 PN)
(setq ln6 PAD)
(setq ln7 CITY)
(setq ln8 SNO)
(setq ln9 SNO2)
(setq ln10 STN)
(setq ln11 PTN)
(setq ln12 PTN2)
(setq ln13 STATE)
(setq ln14 ZIP)
(setq ln15 REGION)
(setq ln16 PJT)
(setq fp (open filenm "w"))
(write-line ln1 fp)
(write-line ln2 fp)
(write-line ln3 fp)
(write-line ln4 fp)
(write-line ln5 fp)
(write-line ln6 fp)
(write-line ln7 fp)
(write-line ln8 fp)
(write-line ln9 fp)
(write-line ln10 fp)
(write-line ln11 fp)
(write-line ln12 fp)
(write-line ln13 fp)
(write-line ln14 fp)
(write-line ln15 fp)
(write-line ln16 fp)
(close fp)
The titleblock is then opened up by the first routine & a second routine is run that populates the titleblock. The state, License number, & expiration date are inserted into the titleblock drawing based on the state that is selected in the dialog box. This is all done with text instead of attributes.
;SET INSERTION POINTS FOR LICENSE NUMBER, STATE & EXPIRATION DATE BY PROJECT TYPE
(IF (or (= (strcase (GETVAR "PROJECTNAME")) "RA")(= (strcase (GETVAR "PROJECTNAME")) "RA (CASH BOOTH)")(= (strcase (GETVAR "PROJECTNAME")) "RA (SBS)")(= (strcase (GETVAR "PROJECTNAME")) "ARCADE")(= (strcase (GETVAR "PROJECTNAME")) "BBV"))(setq insnum "32.869,13.464" insstate "34.539,13.624" insdate "33.258,13.303" rot "0" sty "BORDER" hgt ".0938"))
(IF (= (strcase (GETVAR "PROJECTNAME")) "IA")(setq insnum "33.9348,13.7961" insstate "33.3294,14.0555" insdate "34.2729,13.6659" rot "0" sty "Style-font096" hgt ".0781"))
(IF (= (strcase (GETVAR "PROJECTNAME")) "IAT3")(setq insnum "34.2768,16.7049" insstate "34.0206,17.3096" insdate "34.4070,16.9537" rot "90" sty "Style-font096" hgt ".0781"))
(DEFUN CERTIFY ()
(If (= (strcase (GETVAR "PROJECTNAME")) "ARCADE")(COMMAND "-LAYER" "M" "A-ANNO-TTLB" "C" "230" "" ""))
(COND
((= ln13 "MD")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "3633-A")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "03/08/18")
)
)
((= ln13 "CT")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "7231")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "7/31/16")
)
)
((= ln13 "DC")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "4483")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "4/30/18")
)
)
((= ln13 "DE")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "S5-0007642")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "1/31/18")
)
)
((= ln13 "VA")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "0401 007140")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "11/30/18")
)
)
((= ln13 "WV")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "4391")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "06/30/17")
)
)
((= ln13 "FL")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "AR-0013579")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13 )
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "02/28/17")
)
)
((= ln13 "IL")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "001-013842")
(COMMAND "-TEXT" "S" "BORDER" "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "12/30/16")
)
)
((= ln13 "NC")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "6038")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "06/30/16")
)
)
((= ln13 "NH")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "1971")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "08/31/17")
)
)
((= ln13 "NV")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "3238")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "12/31/17")
)
)
((= ln13 "NJ")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "1271400")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "07/31/17")
)
)
((= ln13 "NY")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "20040-1")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "07/31/18")
)
)
((= ln13 "OH")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "9603")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "12/31/17")
)
)
((= ln13 "PA")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "B-11672")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "06/30/19")
)
)
((= ln13 "SC")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "4141")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "06/30/17")
)
)
((= ln13 "MN")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "ARC1827")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "06/30/15")
)
)
((= ln13 "MA")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "7647")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "08/31/17")
)
)
((= ln13 "RI")
(progn
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "1921")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "12/31/18")
)
)
(PROGN
(COMMAND "-TEXT" "S" sty "J" "BL" insnum hgt rot "NUMBER")
(COMMAND "-TEXT" "S" sty "J" "BL" insstate hgt rot ln13)
(COMMAND "-TEXT" "S" sty "J" "BL" insdate hgt rot "DATE")
)
)
)
So if i did with an attribute i assume that i would have to copy that into each plan, elevation, section drawing & tab? Would that link to the excel spreadsheet & reference a certain cell? I need a way to change it depending on the state that is selected in the dialog box.