Joe-SA Posted November 18, 2011 Share Posted November 18, 2011 The Issue Manager does a good job of sending dates and notes to a set of sheets and assigns a letter or number designation to that particular sub-set. There is no method to modify that data as a set after it makes it to the title block other than editing each individual title block one at a time. I still consider myself a novice script writer but managed to create this Menu Command Plug-In that allows you to input the letter of any existing sheet set and revise the date and notes associated with it in every sheet in the drawing where that issue set was added. Nice when an hour after you put a date on 20 sheets you decide to issue the next day instead. Hopefully others find this helpful. Joe Procedure ReviseTitleBlockIssueData; { This procedure searches all instances of the 'Issue Data' record created by the Issue Manager and takes a user input previously issued set letter and revises the associated date and note to a user input values. Sears Architects Developed by Joe Hoffner Sears Architects Last Modified: 10/31/2011 } Var Request1, Request2, Request3, Default1, Default2, Default3, IssueLetter, RevDate, RevNote, FName, DName, NName, FValue, FinalCheck : String; Record : Handle; NoOfFields, X : LongInt; Answer : Boolean; PROCEDURE ReviseData(ObjHdl : HANDLE); BEGIN X:=1; REPEAT FName:= Concat('Number-', X); DName:= Concat('Date-', X); Nname:= Concat('Note-', X); FValue:= GetRField(ObjHdl, 'Issue Data', FName); IF (FValue = IssueLetter) THEN BEGIN SetRField(ObjHdl, 'Issue Data', DName, RevDate); SetRField(ObjHdl, 'Issue Data', NName, RevNote); END; X:=X+1; UNTIL(X>50); ResetObject(ObjHdl); END; BEGIN BEGIN Request1:=('What is the letter of the Issue Set you wish to revise?'); Default1:='A'; IssueLetter:= StrDialog(Request1, Default1); END; BEGIN Request2:=('What is the revised date you wish this issue set to display?'); Default2:='mm/dd/yy'; RevDate:= StrDialog(Request2, Default2); END; BEGIN Request3:=('What is the revised note you wish this issue set to display?'); Default3:='Issue Note'; RevNote:= StrDialog(Request3, Default3); END; BEGIN FinalCheck:= Concat('Are you sure you want to change issue set ', IssueLetter, ' to the new date ', RevDate, ' and the new note - ', RevNote, ' ?'); Answer := YNDialog(FinalCheck); IF Answer THEN BEGIN ForEachObject(ReviseData, (R IN ['Issue Data'])); END; END; END; RUN ( ReviseTitleBlockIssueData ); Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.