Visual LISP, AutoLISP and General Customization
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DOSLib for AutoCAD 2017 Available

16 REPLIES 16
Reply
Message 1 of 17
dale_fugier
6229 Views, 16 Replies

DOSLib for AutoCAD 2017 Available

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

 

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

 

-- Dale

16 REPLIES 16
Message 2 of 17
Partenheimer
in reply to: dale_fugier

Outstanding!

 

Thank you for posting.

 

Regards,

Michael Partenheimer

Message 3 of 17
cadheinz
in reply to: dale_fugier

Danke 

Spoiler
 
DH
Message 4 of 17
Steve_Johnson
in reply to: dale_fugier

I care. Dale and McNeel are awesome for continuing to provide this free of charge!
Steve Johnson - blog nauseam - ClassicArray
Message 5 of 17
Anonymous
in reply to: dale_fugier

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

Message 6 of 17
dale_fugier
in reply to: Anonymous

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

Message 7 of 17
Anonymous
in reply to: dale_fugier

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

Message 8 of 17
lkcadway
in reply to: dale_fugier

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.

 

 

 

Message 9 of 17
dale_fugier
in reply to: lkcadway

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

Message 10 of 17
Anonymous
in reply to: dale_fugier

 

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

 

Message 11 of 17
Partenheimer
in reply to: Anonymous

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

Message 12 of 17
JoistDetailer
in reply to: dale_fugier

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

Message 13 of 17
kdub_nz
in reply to: Partenheimer


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

Message 14 of 17


@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
RGUS99
in reply to: dale_fugier

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.

 

Message 16 of 17
GTVic
in reply to: JoistDetailer


@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

Message 17 of 17
JoistDetailer
in reply to: GTVic

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.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost