DOSLib for AutoCAD 2018 Available

DOSLib for AutoCAD 2018 Available

dale_fugier
Contributor Contributor
8,609 Views
37 Replies
Message 1 of 38

DOSLib for AutoCAD 2018 Available

dale_fugier
Contributor
Contributor

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

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

-- Dale

8,610 Views
37 Replies
Replies (37)
Message 21 of 38

lando7189
Advocate
Advocate

Thanks for everything you do Dale!  DOSLib opened the door so much for me with AutoLISP back in 1997 and still use it to this day!

0 Likes
Message 22 of 38

Anonymous
Not applicable

I know its "just" a self-extracting zip file.  That doesn't help at all when corporate blocks all exe's except those on a particular list.  The only people with the ability to run the exe are those corporate gits who refuse to run any exe's.  If it was "just" a zip file I could extract the arx.  Or "just" provide the arx and chm files.

 

Any other ideas??

0 Likes
Message 23 of 38

DannyNL
Advisor
Advisor

Yes, I agree but I'm not the one that is deciding how they should pack and distribute their files.

So people will have to do with what is available unfortunately and in this case that means ask someone to unpack the files for you.

 

Your 7-Zip solution will work though IF you have it or something similar installed on your system. If not, then you are out of luck.

Downloading the portable version of 7-Zip will not save the day either as this will also be an .EXE, which will blocked.

 

What you can try to do is rename the .EXE to .ZIP and see if this works to unpack it with the build in Windows ZIP functionality.

This seems to work for me.

0 Likes
Message 24 of 38

roland.r71
Collaborator
Collaborator

My case was merely an example of how to do it.

 

ANY (self respecting) ZIP program can open a selfextracting archive like a regular zip file. (and you MUST have a zip proggy installed to work with .zip. at all)

 

So just startup whatever you have for (un)zipping and load the exe as if it where a .zip.

You can even rename it to .zip if that makes it easier for anybody, or just makes 'm feel better.

 

After renaming you can just doubleclick it and extract it, with any zip program.

0 Likes
Message 25 of 38

roland.r71
Collaborator
Collaborator

Read my previous posts. That should get you going.

 

edit:

It actually IS 'just' a .zip file, with the extraction program attached.

Any program able to create a self-extracting zip file should be able to read it as if it where 'just' a .zip file.

0 Likes
Message 26 of 38

dale_fugier
Contributor
Contributor

I've added some additional download options.

 

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

 

Let me know if this helps.

 

-- Dale

Message 27 of 38

roland.r71
Collaborator
Collaborator

(works) Perfect!

 

0 Likes
Message 28 of 38

clindner
Advocate
Advocate

How's that for customer service! 

 

Thanks, Dale! #rockstar


Please use the Accept as Solution or Kudo buttons when appropriate

Chris Lindner
CAD Technology Consultant @ onebuttoncad.com
AUGI Board of Directors

0 Likes
Message 29 of 38

Anonymous
Not applicable

OUTSTANDING!!!   Thank you sir.

0 Likes
Message 30 of 38

Anonymous
Not applicable

We care so much, we're here with baited breathe for the AutoCAD 2019 version.

 

0 Likes
Message 31 of 38

Anonymous
Not applicable

Hello Dale,

It seems this happens every time Autodesk release a new version of AutoCAD, DOSLib stops working and needs re-compiling. I really don't know how people can seriously use AutoCAD without having DOSLib in the background doing all the things Autodesk fail to include in their software.

Will you be releasing an ACAD 2020 version and do you have a time frame so I can put off using ACAD 2020 until DISLib is released.

 

Thanks a lo Dale, I give heaps of care about DOSLib.

Deane

 

0 Likes
Message 32 of 38

dale_fugier
Contributor
Contributor

Hi Deane,

 

It's my understanding that ARX apps written for AutoCAD 2019 will load and run in AutoCAD 2020, in which case you can just load either DOSLib23.arx or DOSLib23x64.arx. Let me know if I'm confused.

 

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

 

-- D

0 Likes
Message 33 of 38

Anonymous
Not applicable

Thanks for the heads up Dale.

It seems the migration app when first installing ACAD 2020 didn't like applying the arx files that were installed. 

If I load each of them individually everything loads and performs fine.

Thanks again for the great code.

 

0 Likes
Message 34 of 38

TCCS-Admin
Enthusiast
Enthusiast

Long time user of doslib. It is so handy. It loads perfectly in AutoCAD map 3d 2018 64bit Windows 7 but I cannot get it to load in AutoCAD map 3d 2018 64bit Windows 10.

It gives an error code (0x4EC) This program is blocked by group policy. For more information, contact your system administrator. AcRxDynamicLinker failed to load.

Unable to load DOSLib22x64.arx

Any help resolving this would be great.

Regards

Paul

 

0 Likes
Message 35 of 38

dale_fugier
Contributor
Contributor

Google 'This program is blocked by group policy." You will find a lot of suggestions on how to resolve this.

 

-- Dale

0 Likes
Message 36 of 38

Anonymous
Not applicable

Hello,  I am wondering how to load this onto autocad.   A former coworker created lots of tools that I currently use but a few of them keep saying something about dos lib and don't work correctly.      I am guessing this is my missing link to get these tools to work again but don't really understand computer language enough to figure out where it goes.   Thanks.

0 Likes
Message 37 of 38

Sea-Haven
Mentor
Mentor

Took about 2 seconds https://wiki.mcneel.com/doslib/home

 

Download then use Appload and add correct ARX version.

0 Likes
Message 38 of 38

roland.r71
Collaborator
Collaborator

For those who don't know how to do it, or if you switch a lot like me:

I wrote this function to load the correct doslib version on any system. All you have to do is download and install doslib.

 

   (defun loadDOSlib ( path / relNumA CPUxBit libName envFile usrFile loaded)

      ; Function to load DOSlib

      ; path = "optional" alternative path (you can set it to nil)

      ; returns: T if succesful, nil if not.

      ; Checks if DOSlib is loaded, if not it will determine the name for the
      ; correct arx to load for your system. It will try to find the file within
      ; the AutoCAD search path or an optional alternative location (if set).

      ; A quick and easy way to see if DOSlib is loaded is to check for the version
      (if DOS_VERSION
         (progn
            (if (> comLineNfo 1)(prompt "\nDOSlib detected"))
            (setq loaded T)                                                     ; it is loaded & ready
         )
      ; else, we need to load it
         (progn
            ; --- Get info & determine arx name
            (setq relNumA (atoi (substr (getvar "acadver") 1 2))                ; ACAD release nr
                  CPUxBit (if (wcmatch (getenv "PROCESSOR_ARCHITECTURE") "*64") "x64" "") ; Processor arc.
                  libName (strcat "doslib" (itoa relNumA) CPUxBit)              ; construct doslib filename
                  envFile (findfile (strcat libName ".arx"))                    ; check if inside search paths
                  usrFile (if path (findfile (strcat path libName ".arx")) nil) ; opt. check for user path
            )
            ; --- Check & load
            (cond
               ; file not found
               ((and (not envFile)(not usrFile))
                 (if path (setq path (strcat "( " path " ) ")))
                 (princ (strcat "\nERROR: Couldn't locate " path libName ".arx"))
               )
               ; ACAD R14 or older versions
               ((< relNumA 15)
                  (princ "\nERROR: ACAD 2000 or higher required")
               )
               ; R15 & up (32 & 64 bit)
               ; it shouldn't be there, but check for the arx anyway
               ((and (> relNumA 14)(not (member (strcat libName ".arx") (arx))))
                  (if envFile (arxload libName))                                   ; Load found doslib
                  (if (and usrFile (not envFile)) (arxload (strcat path libName))) ; Load doslib from supplied path
                  (setq loaded T)                                                  ; it should be loaded now
               )
            )
         )
      )
      loaded
   )

   ; Optional path to be used to find/load doslib
   (setq DLpath "C:/Lisp/DOSLIB/")

   ; Check for and/or try to load DOSlib
   (if (not (loadDOSlib DLpath))
      (progn
         (princ "\nThis function requires DOSlib to run. Please Download & install DOSlib, or suply the correct path.")
         (exit)
      )
   )
0 Likes