Page 1 of 1

Script needed

Posted: Tue May 08, 2012 2:33 am
by dave5
I need a script that will open a DXF file, convert all the solid lines to the color blue and save the resulting files as a DXF. This script will be executed via the commandline.

Based on my reading of the docs this looks fairly straightforward, but I don't have the time put the script together myself. I would be willing to pay a bounty for this script.

Apologies if this seems a little douche-baggy, but I am under a tight deadline.

Cheers

Dave

Re: Script needed

Posted: Tue May 08, 2012 9:25 am
by andrew
I should be able to put this together quickly. I'll post the script here when I'm done.

Re: Script needed

Posted: Tue May 08, 2012 12:54 pm
by andrew
Attached, you can find a simple script 'ExSetColor.js' and the test drawing I've used.

What the script does:
- find all line entities with linetype set directly to 'continuous' or with linetype 'ByLayer' and the layer linetype 'continuous'
- change the color of those entities to blue
- entities that are not lines are not touched
- entities that have their linetype set to something else than 'continuous' are not touched

Limitations:
- entities that have the linetype set to 'ByBlock' are not touched, even though they might be continuous. This would need some further work as blocks can be hierarchical.

Installation:
- save file ExSetColor.js, e.g. to the QCAD application installation folder.

Usage:
cd [path to qcad]
./qcad -autostart ExSetColor.js [input file] [output file]

Example:
./qcad -autostart ExSetColor.js test.dxf output.dxf


Feel free to donate something if you find this useful.
PayPal: account '[email protected]'
Moneybookers: account '[email protected]'

Re: Script needed

Posted: Tue May 08, 2012 4:06 pm
by dave5
Thank you Sir. Works a treat.

This confirms my belief that you guys are onto something really wonderful with QCad 3.

I have made a donation into your PayPal account.

Re: Script needed

Posted: Tue May 08, 2012 4:28 pm
by andrew
Many thanks for your donation! Let me know if you require any adjustments or to automate other processes.