Hello,
I've some trouble using the last version of DosLIB into CIVIL 3D 2016.
Do you have some feedback of this issue ?
Did this addon working in CIVIL 3D or not ?
Thx for you answers
Philippe
DOSLib is built for AutoCAD, but it 'should' work in AutoCAD verticals, such as Civil. I do not test any of the vertical products, however.
You say you have having some trouble? Anything specific problems you wish to share?
Note, if you are using the 2016 version of AutoCAD or any vertical, then you should be loading:
DOSLib20.arx - DOSLib for AutoCAD 2015 and 2016 (x86)
or
DOSLib20x64.arx - DOSLib for AutoCAD 2015 and 2016 (x64)
-- Dale
Hello Dale,
Thx for your prompt answer.
Yes, DosLIB work into CIVIL 3D.
My mistake come from the wrong ARX I have used. DosLIB21 instead of DosLIB20.
Could you give the value of the AutoCAD 2016 "ACADVER" ? I just have CIVIL 3D 2016 and the "ACADVER" value is "20.1s" and the test (to know which version I work with) I've included on my routine is based in this value. It seems it doesn't work. So I need this value to detail my test and to separate the two versions of AutoCAD.
Thx a lot for your help.
Philippe
The current plan is to (try to) support AutoCAD for the foreseeable future. But there is no plan to support AutoCAD for Mac - sorry.
-- Dale
Hi Dale,
I have AutoCAD Electrical 2017. When I open the program, I got this message (Unable to load DOSLib functions, Please verify the DOSLib libraries are located in the searchpath) . I downloaded your DOSLib support for AutoCAD 2007 thru 2017. I open the appload and load the DOSLib21x64. When I open the CREATE_LAYERS.LSP, it does not work. This is the message; I need help me how to solve this problem.
I don't know how others do it, but I load DosLib when I open my drawing via lisp in an mnl file.
You could modify your lisp routine to load it there. Just make sure the arx resides in a folder with a known path.
Regards,
Mike Partenheimer
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Begin DOSlib for AutoCAD 2017
(if (= "21.0" (substr (getvar "acadver") 1 4)) ;;;check if AutoCAD 2017 program (Version 21.0)
(if (= "x64" (substr (getvar "platform")(- (strlen (getvar "platform")) 3) 3)) ;;;check if 64 bit OS
(if (not (member "DOSLib21x64.arx" (arx))) ;;;if YES 64 bit
(if (findfile "DOSLib21x64.arx")(arxload "DOSLib21x64"))
)
(if (not (member "doslib21.arx" (arx))) ;;;if NO 64 bit
(if (findfile "doslib21.arx")(arxload "doslib21"))
)
)
)
Dale,
Is there any way to make the "stretchable" dialog tools in DosLib displayed at a width defined in my Lisp code?
For example, I use the Dos_PropList user interface quite a bit, but my "prompts" for each piece of data are wider than the default width. The user needs to stretch the box, then increase the width of the prompt area manually each time so they can read the full text.
Thanks!!
Partenheimer wrote:
I don't know how others do it, but I load DosLib when I open my drawing via lisp in an mnl file.
You could modify your lisp routine to load it there. Just make sure the arx resides in a folder with a known path.
Regards,
Mike Partenheimer
Mike,
Rather than jump through those hoops,
have a look at dos_demandload
(dos_demandload T)Just run the command once after you appload doslib the first time (or any time) after installation.
Regards,
// Called Kerry in my other life.
Everything will work just as you expect it to, unless your expectations are incorrect.
class keyThumper<T> : Lazy<T>; another Swamper
@Anonymous wrote:I don't know how others do it, but I load DosLib when I open my drawing via lisp in an mnl file.
You could modify your lisp routine to load it there. Just make sure the arx resides in a folder with a known path.
Regards,
Mike Partenheimer
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Begin DOSlib for AutoCAD 2017
(if (= "21.0" (substr (getvar "acadver") 1 4)) ;;;check if AutoCAD 2017 program (Version 21.0)
(if (= "x64" (substr (getvar "platform")(- (strlen (getvar "platform")) 3) 3)) ;;;check if 64 bit OS
(if (not (member "DOSLib21x64.arx" (arx))) ;;;if YES 64 bit
(if (findfile "DOSLib21x64.arx")(arxload "DOSLib21x64"))
)
(if (not (member "doslib21.arx" (arx))) ;;;if NO 64 bit
(if (findfile "doslib21.arx")(arxload "doslib21"))
)
)
)
Seven lines of code to JUST load Doslib for ACAD2017 seems like a lot of code to me - when you can just do it in two....
(verify_arxapp_loaded "doslib21")
(verify_arxapp_loaded "doslib21x64")
I just have a series of these commands in my "startup" code:
(verify_arxapp_loaded "doslib18")
(verify_arxapp_loaded "doslib18x64")
(verify_arxapp_loaded "doslib19")
(verify_arxapp_loaded "doslib19x64")
(verify_arxapp_loaded "doslib20")
(verify_arxapp_loaded "doslib20x64")
(verify_arxapp_loaded "doslib21")
(verify_arxapp_loaded "doslib21x64")
Those 8 lines of code load DosLib for any AutoCad version from 2010 forward....no "if's" ands or buts about it!! No returning/parsing the Autocad version number, determining if it's 64 bit or not, etc... Just simple, straightforward code to get the job done.
Oh I care... AutoCAD just wouldn't be the same without it... it's not the same right now with ACAD 2018... but I'm sure it won't take long to re-compile against 2018... I wish they would stop doing that to third party apps.
@JoistDetailer wrote:
@Anonymous wrote:
I don't know how others do it, but I load DosLib when I open my drawing via lisp in an mnl file.
You could modify your lisp routine to load it there. Just make sure the arx resides in a folder with a known path.
Seven lines of code to JUST load Doslib for ACAD2017 seems like a lot of code to me - when you can just do it in two....
(verify_arxapp_loaded "doslib21")
...
Those 8 lines of code load DosLib for any AutoCad version from 2010 forward....no "if's" ands or buts about it!! No returning/parsing the Autocad version number, determining if it's 64 bit or not, etc... Just simple, straightforward code to get the job done.
There is a slight difference in time 🙂
- verify_arxapp_loaded, first try 0.051s, subsequent tries 0.033s
- member method, first try 0.026s, subsequent tries 0.000s
My code for loading DosLib is appended to the StartUp lisp code, so it only executes once when the drawing is opened. While your point regarding load time is valid, I suspect that 99.999999% of everyday AutoCad users will not notice a 0.025 second difference in the load time for their drawings. Not to mention the simple fact that the tools I created that utilized DosLib for the user interfaces realistically save at least 0.5 hours per week per user. Even if the user opens 100 drawings per week (less that half of that is more realistic), the time difference only "costs" the user 2.5 seconds per week.
I think I'm still on the right side of the curve...LOL.