DOSLib for AutoCAD 2017 Available

DOSLib for AutoCAD 2017 Available

dale_fugier
Contributor Contributor
7,247 Views
16 Replies
Message 1 of 17

DOSLib for AutoCAD 2017 Available

dale_fugier
Contributor
Contributor

If anyone is interested...or cares... 😉

 

http://wiki.mcneel.com/doslib/home

 

-- Dale

7,248 Views
16 Replies
Replies (16)
Message 2 of 17

Partenheimer
Collaborator
Collaborator

Outstanding!

 

Thank you for posting.

 

Regards,

Michael Partenheimer

0 Likes
Message 3 of 17

CAD-Heinz
Advocate
Advocate

Danke 

Spoiler
 
DH
0 Likes
Message 4 of 17

Steve_Johnson
Collaborator
Collaborator
I care. Dale and McNeel are awesome for continuing to provide this free of charge!
Steve Johnson - blog nauseam - ClassicArray
0 Likes
Message 5 of 17

Anonymous
Not applicable

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

0 Likes
Message 6 of 17

dale_fugier
Contributor
Contributor

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

0 Likes
Message 7 of 17

Anonymous
Not applicable

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

0 Likes
Message 8 of 17

lkcadway
Advocate
Advocate

Thanks a lot...

Doslib is a top plugin in my AutoCAD tools.

I have used doslib from AutoCAD R14 till 2017.

And i wish you can supply this plugin for the furture versions of AutoCAD and  develops a version for AutoCAD for mac.

 

 

 

0 Likes
Message 9 of 17

dale_fugier
Contributor
Contributor

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

0 Likes
Message 10 of 17

Anonymous
Not applicable

 

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.

 

 

Capture.PNG

 

0 Likes
Message 11 of 17

Partenheimer
Collaborator
Collaborator

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"))
      )
   )
)

0 Likes
Message 12 of 17

JoistDetailer
Contributor
Contributor

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!!

0 Likes
Message 13 of 17

kerry_w_brown
Advisor
Advisor

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 or kdub in my other life.

Everything will work just as you expect it to, unless your expectations are incorrect. ~ kdub
Sometimes the question is more important than the answer. ~ kdub

NZST UTC+12 : class keyThumper<T> : Lazy<T>;      another  Swamper
0 Likes
Message 14 of 17

JoistDetailer
Contributor
Contributor

@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.

Message 15 of 17

Anonymous
Not applicable

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.

 

0 Likes
Message 16 of 17

GTVic
Advisor
Advisor

@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

0 Likes
Message 17 of 17

JoistDetailer
Contributor
Contributor

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.