dynamic drawing title block edit

dynamic drawing title block edit

Anonymous
Not applicable
1,308 Views
5 Replies
Message 1 of 6

dynamic drawing title block edit

Anonymous
Not applicable

I have createt a template with 5 different layouts. I have a drawing title block on all of them. The title block is made with attribute. 

I would like to finde a way where I can change the information I have in the title block on all layouts. Without I have to go to block editor everytime I need to make a change.

0 Likes
Accepted solutions (1)
1,309 Views
5 Replies
Replies (5)
Message 2 of 6

Alfred.NESWADBA
Consultant
Consultant
Accepted solution

Hi,

 

if you create a text instead of an attribute you just need to modify the block-definition once .. and all layouts with all block-insertions show the text content.

Other option could be to use fields, requesting values from the document properties

  • you use command _DWGPROPS to define a custom property
  • you assign a field to an attribute of your title-block to display the content of the custom property

 

- alfred -

 

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2026
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Likes
Message 3 of 6

cadffm
Consultant
Consultant

>"if you create a text instead of an attribute you just need to modify the block-definition once .. and all layouts with all block-insertions show the text content."

Constant Attributdefinition would be better (attrib export functions works with it),

but for both you need a BEDIT (or REFEDIT)  and missed the question.

 

Fields are cool.

 

@Anonymous 

Real answer to the question: Select all title block references and change the attribut value in your properties palette(CTRL+1).

 

Hopeful you dont have dynamic title blocks.

 

How to do this:

Use Expresstools SSX

or Lisp function SSGET

or command FILTER (config your Filterlist, apply it to object selection method ALL)

{Filter works for LT versions too}

Sebastian

0 Likes
Message 4 of 6

cadffm
Consultant
Consultant

@Anonymous 

"dynamic drawing title block edit"

If thst mean the title Block is a dynamic Block,

you need a small program for this selection.

 

Copied from another post, edited via cell phone, untested.

 

 

https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/ssget-dynamic-blocks/m-p/3700390#M307563


(defun c:SelAllTitle (/ bname inc blockname en finalss ss)
(and
(or (setq bname (getstring T "Blockname(s) <MyTitle1>: "))
    (setq bname "MyTitle1"))
(setq ss (ssget "X" (list (cons 0 "INSERT")(cons 2 (strcat bname 
 `*U*")))))
 (setq inc 0)
 (setq finalss (ssadd))
 (while (setq en (ssname ss inc))
  (setq blockname (vla-get-effectivename (vlax-ename->vla-object en)))
  (if (wcmatch (strcase blockname) (strcase bname))
   (ssadd en finalss)
  ) 
  (setq inc (1+ inc))
 ))
 (if finalss (sssetfirst nil finalss))
) 

Sebastian

0 Likes
Message 5 of 6

R_Tweed
Advisor
Advisor

Using fields per @Alfred.NESWADBA post is the way to go.

If you use sheet set manager, there are fields that will handle most of the information directly.  You would just need to have your attributes reference them. 

 

Another way would be to have mtext or attributes in the other blocks with a field that references the first sheet block attribute.  This would keep your data in the dwg local and might be better if you share your work. I've attached a test dwg that illustrates the linking between blocks.

0 Likes
Message 6 of 6

cadffm
Consultant
Consultant

Where is your feedback?

 

My untested Code need an update, that one should work for you.

 

(defun c:SelAllTitle (/ bname inc blockname en finalss ss)
(and
(or (setq bname (getstring T "Blockname(s) <MyTitle1>: "))
    (setq bname "MyTitle1")
 )
(setq ss (ssget "X" (list (cons 0 "INSERT")(cons 2 (strcat bname  ",`*U*")))))
 (setq inc 0)
 (setq finalss (ssadd))
 (while (setq en (ssname ss inc))
  (setq blockname (vla-get-effectivename (vlax-ename->vla-object en)))
  (if (wcmatch (strcase blockname) (strcase bname))
   (ssadd en finalss)
  ) 
  (setq inc (1+ inc))
 ))
 (if finalss (sssetfirst nil finalss))
)

 

Your can change both MyTitle1 with your Titleblock name or Names Title1,Title2,Title3  ...

Sebastian

0 Likes