LISP that works on Windows does not work on MAC OS because of vl-load-com support

LISP that works on Windows does not work on MAC OS because of vl-load-com support

darkfuneral
Explorer Explorer
641 Views
5 Replies
Message 1 of 6

LISP that works on Windows does not work on MAC OS because of vl-load-com support

darkfuneral
Explorer
Explorer

Hello,

 

I have a set of certain LISP files that work like a charm on my Windows machine, but I recently decided to migrate on MAC and I've encountered the 'vl-load-com' support issue. I am not a skilled programer and I am not able to remake all the LISP files. I have to work with simple AutoLISP or ObjectARX according to my internet search. I tried employing the help of ChatGPT to rewrite the LISP files for me, but to no avail.

 

Using the LISPs on the MAC machine gives the following error:

; error: no function definition: VLAX-LDATA-GET

I am using AutoCAD v2022 for MAC.

 

Is there any way to work around this or I should post the code of each LISP and wait for help from the internet to rewrite it for MAC?

 

Thank you in advance.

 

BR,

Plamen

0 Likes
642 Views
5 Replies
Replies (5)
Message 2 of 6

ВeekeeCZ
Consultant
Consultant

No simple way.

0 Likes
Message 3 of 6

darkfuneral
Explorer
Explorer
So there are few ways to go from here:
1. Post the code (not mine btw) and wait for the good people from the internet to find the time to rewrite it.
2. Install Windows on my MAC and install AutoCAD for Windows and work like that.
3. Sell the MAC and buy a Windows laptop.
0 Likes
Message 4 of 6

ВeekeeCZ
Consultant
Consultant

AD 1 It could be a tedious job to do. You might need to hire someone willing to do that.

0 Likes
Message 5 of 6

diagodose2009
Collaborator
Collaborator

Hello😊

  1. You need emulate some-Vlisp-function/s inside "Visual-lisp" with  autolisp-R2000-purely100.lsp
  2. That reason the code of autolisp-purely100..lsp is too big and contain too many  needs.(because Vlisp Lisp functions create many shortcut/s of Issues) 
  3. You can develop the zipped library with source(s). Perhaps you envelope  the program Lisp into Libraries with functions.zip and injects the (files*  XLs, Gif, Dwg, Bmp,z80)   inside zipped library.🙄
  4. You can restore 😣 the functions.lisp from program.libraries.zip
  5. For long time and Clipboard.jpg
0 Likes
Message 6 of 6

Sea-Haven
Mentor
Mentor

I did find that Ldata is held in a dictionary so can use the entget style method of looking through the dictionaries.

 

; Name = "AlanH"
; ObjectName (RO) = "AcDbDictionary"

 

You can step through adict 

 

 

 

(setq adict (dictsearch (namedobjdict) "AlanH"))
((-1 . <Entity name: 2555d560>) (0 . "DICTIONARY") (5 . "11C43") (102 . "{ACAD_REACTORS") (330 . <Entity name: 5fe82660>) (102 . "}") (330 . <Entity name: 5fe82660>) (100 . "AcDbDictionary") (281 . 1) (3 . "ahscale") (350 . <Entity name: 2556b960>) (3 . "Layoutname") (350 . <Entity name: 2555d8e0>))

 

 

note the key is dxf 3 followed by the value in dxf 350

 

 

(entget (cdr (assoc 350 adict)))
((-1 . <Entity name: 2556b960>) (0 . "VLO-VL") (5 . "11C45") (102 . "{ACAD_REACTORS") (330 . <Entity name: 2555d560>) (102 . "}") (330 . <Entity name: 2555d560>) (100 . "vlo_VL") (90 . -64512) (91 . 3) (92 . 0) (300 . "150"))

 

 

The value is in dxf 300

 

Its not something I am very good at digging into entgets using entnext.

 

Post a dwg but need the ldata code for the dict name and the key names.

0 Likes