I am hoping that I might find at least a couple of people who would be willing to look at a beta version of a new Shadow macro. I am obviously keen to know about any bugs found, but also interested in feedback on the functionality or user interface (I think the interface is pretty friendly, and hoping that the brief instructions I have written are adequate for the average person to use it confidently, but others may have a different view).
I was prompted to write the new version when a user found a bug in the old version a few months ago. Initially I was intending to simply convert the existing code from DCAL Classic to D4D, but finding things that didn't work in D4D set me off on more of a re-write job (even though Mark fixed the main issue I had pretty promptly ... adding voids to polylines in D4D which I had already coded in an alternate fashion).
The new macro will not run on DataCAD versions earlier earlier than 23.00.03 (it uses functionality introduced in that version), but offers significant improvements over the old version:
- runs very much faster
- produces a single outline of shadows, optionally with fills of various levels of opacity
- can process multiple surfaces in one operation
- allows processing of up to 4 clock times and 4 dates in one operation (total of up to 16 date/time combinations)
- Sun's Eye View that can step through time in 1 minute increments (up to 1 hour increments)
I have not done anything to process smart entities at this stage (I have never used them - I stopped using DataCAD seriously long before they were introduced) ... I am interested into looking into this if anybody out there would care to share a drawing with me that uses smart entities (so I have something sensible to test with ... Dcad used to come a sample drawing or 2, but I can't find any samples in the latest install).
If anybody here is interested in looking at the macro in it's current state I would certainly appreciate any comments. It can be downloaded from https://dhsoftware.com.au/downloads/ShadowMacro_2.0.0.0.zip
Out of interest, I am usingClipper2 library (by Angus Johnson) to perform polygon union operations. I looked at that initially, but found a bug quite quickly in my testing (and started to write my own union logic), but re-evaluated it after Angus produced a fix within a week of me reporting the bug. It seems to be pretty solid in my testing now, but I admit that I am a little nervous about it given how quickly I found the initial problem. Still it is much more mature and better tested than anything I could write myself so as I have not found any other bugs myself I decided to go with it.
I am passing point co-ordinates to Clipper2 using Integer64 values, rounded to the nearest 1/137438953472th of an inch (Datacad's 1/32" units divided by 2^32). I do not expect the introduced inaccuracies to be in any way significant.
Thanks,
David H.
I was prompted to write the new version when a user found a bug in the old version a few months ago. Initially I was intending to simply convert the existing code from DCAL Classic to D4D, but finding things that didn't work in D4D set me off on more of a re-write job (even though Mark fixed the main issue I had pretty promptly ... adding voids to polylines in D4D which I had already coded in an alternate fashion).
The new macro will not run on DataCAD versions earlier earlier than 23.00.03 (it uses functionality introduced in that version), but offers significant improvements over the old version:
- runs very much faster
- produces a single outline of shadows, optionally with fills of various levels of opacity
- can process multiple surfaces in one operation
- allows processing of up to 4 clock times and 4 dates in one operation (total of up to 16 date/time combinations)
- Sun's Eye View that can step through time in 1 minute increments (up to 1 hour increments)
I have not done anything to process smart entities at this stage (I have never used them - I stopped using DataCAD seriously long before they were introduced) ... I am interested into looking into this if anybody out there would care to share a drawing with me that uses smart entities (so I have something sensible to test with ... Dcad used to come a sample drawing or 2, but I can't find any samples in the latest install).
If anybody here is interested in looking at the macro in it's current state I would certainly appreciate any comments. It can be downloaded from https://dhsoftware.com.au/downloads/ShadowMacro_2.0.0.0.zip
Out of interest, I am usingClipper2 library (by Angus Johnson) to perform polygon union operations. I looked at that initially, but found a bug quite quickly in my testing (and started to write my own union logic), but re-evaluated it after Angus produced a fix within a week of me reporting the bug. It seems to be pretty solid in my testing now, but I admit that I am a little nervous about it given how quickly I found the initial problem. Still it is much more mature and better tested than anything I could write myself so as I have not found any other bugs myself I decided to go with it.
I am passing point co-ordinates to Clipper2 using Integer64 values, rounded to the nearest 1/137438953472th of an inch (Datacad's 1/32" units divided by 2^32). I do not expect the introduced inaccuracies to be in any way significant.
Thanks,
David H.
David Henderson
dhSoftware - Add-on Macros for DataCAD
dhSoftware - Add-on Macros for DataCAD