Hello Everyone,
I am currently working on a LISP routine to automate filling of Drawing Description and Sheet Number from the actual DWG name.
I am able to successfully read DWG name and update the drawing properties but what kills me is the response time on the AEUPDATETITLEBLOCK API (c:wd_tb_process_one). The Title Block Update API is running for an random average of 3 to 15 seconds and the AutoCAD looks frozen till it completes the API execution.
I understand this is no different from the using the actual AEUPDATETITLEBLOCK command which also runs for around 3-5 seconds when updating using OK Active Drawing Only
The way I understand AEUPDATETITLEBLOCK command is that it is very helpful on updating project wide stuff but the way its structured, it takes a little bit of time. (Look for WD_TB, If not found, Look for .wdt mapping file, Read all the mapping, read drawing properties, then map/update the selected attributes)
Now the question I have is do I really have to use AEUPDATETITLEBLOCK command or c:wd_tb_process_one API?
Aren't the attributes on my Title Block are just mere attributes for displaying information? If I know my drawing properties to Title Block attribute mapping, and I can read drawing properties, Why can't I simply use lisp to update the attributes on Title Block in less than a second? Would not using AEUPDATETITLEBLOCK break something?
Thanks
Gelöst! Gehe zur Lösung
Gelöst von rhesusminus. Gehe zur Lösung
Just remember that some information also is saved to the wdp file (drawing sections, drawing description 1,2,3) and some information to wd_m.
The attribute values are also stored in the project database, for use in the drawing index reports.
Hi @rhesusminus
Thanks for your reply.
Yes, I am successfully able to read/write to the wdp file for changing Sheet Description and read/write to the WD_M block to change the Sheet Number, Thanks to this incredible blog by @PatMurnen_Adsk
https://autodesk.typepad.com/systemsdesign/2014/08/drawing-properties-stored-in-the-project-wdp.html
The drawing index reports working correctly even if I don't run the AEUPDATETITLEBLOCK command, that is why I was thinking that as long as I have my drawing properties right, All the electrical functions should work correctly and the Attributes that are placed on our custom title blocks are for mere display of information only.
With regards to the project database, I see that the WD_M table is being updated automatically. I am not to sure if I need to update / watch out for something else in the project database as well.
Thanks,
But, don't you feel sad that you're the one that has to fix this?
I started on running a .NET API for AcadE many years ago, that would read/write directly to both drawings and project database, but after seeing the lack of interest in the product from adsk, I just gave up on it. It isn't my or other customers' job to make the product better.... IMHO 🫤
I feel like it more or less the dependency on Microsoft Access Databases that makes many process slower on the big projects. Its certainly simpler but not probably the fastest database solutions available out there though.
Putting our Catalogs on SQL was probably one of the best things we did but I don't know if something like this is available for project databases as well.
We try to keep our projects as small as reasonably possible but sometimes the customer wants everything in one ACE project. The Terminal Strip Editor is the one the gets most affected by this.
To be honest, most of the users out there probably don't even care about the little efficiency I am trying to achieve. It's just once you enter the world of AutoCAD platform customization, You start thinking of every little possible repetition that could automate lol.
I work and deal with many people that have years and years of experience with all sorts of different programing and design software and I love asking them the question on what you think one software does best that would you like every other software to do? And auto-filling of drawing properties and title block based on drawing name was one them responses I got.
Seems like an easy enough addition with lisp, just wanted to make sure if anyone has tried something like this before.
I think I am going to release a beta version of this to test on some projects and I will come back and update this thread If I encounter and drawbacks.
I appreciate all the help!
Thanks,
Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.