Jump to content

Global Attribute Editor & Extractor


Lee Mac

Recommended Posts

excellent program, although i would like to see it working with unnamed blocks also. right now, if you change dynamic block with block editor, instances of that block is not longer recognizable by the script. also it would be great to have feature to process only current open drawing.

thank you lee mac.

Link to comment
Share on other sites

excellent program, although i would like to see it working with unnamed blocks also. right now, if you change dynamic block with block editor, instances of that block is not longer recognizable by the script. also it would be great to have feature to process only current open drawing.

thank you lee mac.

 

Many thanks for your thoughts Cadigrac, its always good to hear feedback :)

 

I shall have to look into the idea of unnamed blocks, but certainly I think we can accomodate the open drawing idea.

 

As for the dynamic block issue, I don't use these much (if at all), but I think I provide a fix :)

 

Thanks,

 

Lee

Link to comment
Share on other sites

hi Lee,

i just figured that problem is not only when changing blocks through block editor but also changing any of its dynamic parameters.

i`m using block with this new feature "block properties table" because it was the easiest way to force users to select attribute values from predefined value set inside table rather than let them type, i.e. to avoid possible errors.

so after inserting block -> OK

changing attribute value through block properties table -> autocad creates *Ux block (anonymous block) and this script (and all others that use ssget function the same way to select blocks) no longer sees this block.

when picking this block through battman its name is still as at the beginning but on the list are also appearing these *U instances of block.

on other forum people were suggesting using property of the block ' EffectiveName ' to catch also dynamic blocks.

hope this info helps if you`re going to battle with this dynamic block issue.

cheers!

Link to comment
Share on other sites

Many thanks for your research into this - I have hopefully accounted for this problem (using the EffectiveName Property), and will post the new version shortly :)

 

Lee

Link to comment
Share on other sites

Once again, many thanks for your comments and suggestions Cadigrac, I have now updated the code in the first post to Version 1.9.

 

This version allows the user to process the current drawing only, and should also deal with dynamic blocks.

 

Enjoy!

 

Lee

Link to comment
Share on other sites

while i was struggling to add selection for dynamic blocks to one other lisp (your edition of fuccaro's script on this thread:

http://www.cadtutor.net/forum/showthread.php?t=1950&page=3)

(because i actually don`t need dialog box but hard coded block names)

you already add it here.

 

great job! :thumbsup:

 

this is way more useful tool for attributes than data extraction wizard..

 

thanks again.

Link to comment
Share on other sites

while i was struggling to add selection for dynamic blocks to one other lisp (your edition of fuccaro's script on this thread:

http://www.cadtutor.net/forum/showthread.php?t=1950&page=3)

(because i actually don`t need dialog box but hard coded block names)

you already add it here.

 

great job! :thumbsup:

 

this is way more useful tool for attributes than data extraction wizard..

 

thanks again.

 

Thanks :)

 

To be honest, I don't like that edition - I wrote it a while back, and its a modification of another routine - never a good thing...

 

But, you have given me an idea for this program, with the "hard-coded" blocks.

 

What if the user could 'save' the block list they have created to perhaps a config file, so that it is automatically loaded upon next session?

 

Currently, the list is saved, but only by a Global Variable, so it is wiped between drawing sessions.

 

What do you reckon?

 

Lee

Link to comment
Share on other sites

yes, good idea..

for instance, upon start, script searches for *.cfg file in current folder.

if found -> sets all settings in dialog box as read from file

if not -> sets default settings

cfg file should keep info about block list, attribute list, etc. that was chosen last time script was run..

after finishing extraction script overwrites cfg file with new configuration (or "same as before" if nothing was changed)

also nice feature would be automatic save of excel file. -> in my case after attribute extraction i`m running excel macro that do some calculations with extracted data so actually i don`t have need for this newly created file to be open.

unfortunately, i can help only with ideas.. with lisp i`m at the beginning.

Link to comment
Share on other sites

yes, good idea..

for instance, upon start, script searches for *.cfg file in current folder.

if found -> sets all settings in dialog box as read from file

if not -> sets default settings

cfg file should keep info about block list, attribute list, etc. that was chosen last time script was run..

after finishing extraction script overwrites cfg file with new configuration (or "same as before" if nothing was changed)

also nice feature would be automatic save of excel file. -> in my case after attribute extraction i`m running excel macro that do some calculations with extracted data so actually i don`t have need for this newly created file to be open.

unfortunately, i can help only with ideas.. with lisp i`m at the beginning.

 

That's Ok, its really only ideas that I want to be honest... I enjoy the coding too much to have someone do it for me :)

 

Thanks

Link to comment
Share on other sites

I have updated the code in the first post to Version 2.0.

 

This version will now save all dialog settings between sessions, so repetitive data extraction with lots of blocks is now even quicker!

 

Tip: Have the Excel Application open (not necessary with a spreadsheet open), before running MacAtt, and extraction will be even quicker!

 

 

Enjoy

 

Lee

Link to comment
Share on other sites

Coming Soon!

I like the idea Lee, but I must warn you; this is a great CAD2XL tool, but with the ability to change attributes you might start having requests for XL2CAD. :wink:

Link to comment
Share on other sites

I like the idea Lee, but I must warn you; this is a great CAD2XL tool, but with the ability to change attributes you might start having requests for XL2CAD. :wink:

 

Thanks Steve, I think you may be right - and, its not impossible, but the format of the Excel file would have to be correct everytime - which may cause error.

 

Currently, the editor can only change multiple attributes for a single block - but this is purely because of the difficulties in making a DCL arrangement for multiple blocks... :geek:

Link to comment
Share on other sites

hi Lee,

program is keep getting better and better!

only i`m keep getting this error:

** Error: null interface pointer: # **

every second time when calling macatt command. if called again, everything is OK, after that error again and so on.

this was also issue in ver. 1.9

but even with this i like it and i`m using it.. thanks again.

Link to comment
Share on other sites

hi Lee,

program is keep getting better and better!

only i`m keep getting this error:

** Error: null interface pointer: # **

every second time when calling macatt command. if called again, everything is OK, after that error again and so on.

this was also issue in ver. 1.9

but even with this i like it and i`m using it.. thanks again.

 

Hi Cadigrac,

 

I can't seem to replicate your error, but hopefully this is fixed in the new version.

Link to comment
Share on other sites

I have updated the first post with Version 2.1

 

This is a huge update, as the program now includes a 'Global Attribute Editor' also. (Read the header for more info).

 

Your comments and criticism are welcome, as are any bug reports!

 

Thanks,

 

Lee

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...