LISP data in Extension Dictionary.

LISP data in Extension Dictionary.

Anonymous
Not applicable
314 Views
1 Reply
Message 1 of 2

LISP data in Extension Dictionary.

Anonymous
Not applicable
Hi Tony, thank you very much for your help. To solve this problem I'm making an AutoLISP program to 'translate' the Lisp data to 'normal dictionaries' and xrecords with DXF codes, also, I'm making a C++ program that automates AutoCAD for open the DWGs and translate it; I tested both and work fine, but then, I have installed R14.01 for get old data, and my program for automate has problems in the following code: CLSID clsid; if (::CLSIDFromProgID(OLESTR("AutoCAD.Application"), &clsid) != NOERROR) //Here is the problem!!!! { ::AfxMessageBox(IDS_ERROR_ACAD); return FALSE; } It does not work neither R14.01 nor 200X, ¿how can I say to 'CLSIDFromProgID()' that I need get an specific AutoCAD version?, first 200X and then I have to chage the code for R14.01. Please, help me, I need automate both versions. Thanks in advance, William G.S. "Tony Tanzillo" escribió en el mensaje news:40bfb478$1_3@newsprd01... > Call Autodesk and ask them why they did this to you. > > LDATA is a custom object that stores data in a form > that cannot be accessed from anything other than R14 > Visual LISP. > > IOW, you will need to "migrate" your LDATA from R14 > Visual LISP, to some other format. If you saved the > files in 2000 or later format, your data is gone and > there is no way to recover it. > > Many developers that bought into Visual LISP early on, > were also screwed by this unpredicted exhibition of > professional irresponsibility, yet Autodesk doesn't > seem to think it was all that big a deal. > > Many people hold the opinion that the primary objective > of purchasing Vital LISP and creating Visual LISP, was > for the purpose of 'polluting' the AutoLISP standard, and > thereby making it possible to create applications that > would not run on IntelliCAD, in very much the same way > that Microsoft attempted to pollute Java with Visual J++. > > While the objective of polluting AutoLISP was achieved, > the collateral damage that resulted from things like > LDATA, and the fact that Visual LISP applications and > its reactors provided a multitude of new, unprecedented > ways for inexperienced LISP programmers to crash AutoCAD, > and/or do untold amounts of damage to AutoCAD .DWG files, > is one Autodesk management's most definitive achievements > to date. An achievement that Autodesk customers are still > paying for to this very day, to wit your current dilemma. > > > -- > http://www.caddzone.com > > AutoCAD based Security Planning Solutions: > http://www.caddzone.com/securityplanning > > AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005 > http://www.acadxtabs.com > > > "William" wrote in message news:40bf35a6$1_2@newsprd01... > > Hi all, > > I have a lot of data stored in AutoCAD Extension Dictionaries, this data has > > created and stored with LISP routines (since release 14), I have been using > > 'vlax-ldata-put' function and all data are in complex list: > > > > (vlax-ldata-put "MyDict" "key" '("OBJECT01" (0 . 1) (1 . 20.3) (3 ("data1" > > "data2" "data3")) (4 10 11 12)) ) > > > > now, I am working in the new version of these routines in ObjectARX and I > > have problems to retrieve these lists, I am using AcDbDictionary, > > AcDbXRecord objects and acdbEntGetX() function, but I can't get it. ¿How can > > I do this?. > > > > Thanks in advance, > > > > William G.S. > > > > > >
0 Likes
315 Views
1 Reply
Reply (1)
Message 2 of 2

Anonymous
Not applicable
You have to use the version-dependent ProgID: For R14: AutoCAD.Application.14 For 2000-2002: AutoCAD.Application.15 For 2004: AutoCAD.Application.16 For 2005: AutoCAD.Application.16.1 -- http://www.caddzone.com AutoCAD based Security Planning Solutions: http://www.caddzone.com/securityplanning AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005 http://www.acadxtabs.com "William" wrote in message news:40c0b864_3@newsprd01... > Hi Tony, thank you very much for your help. > To solve this problem I'm making an AutoLISP program to 'translate' the Lisp > data to 'normal dictionaries' and xrecords with DXF codes, also, I'm making > a C++ program that automates AutoCAD for open the DWGs and translate it; I > tested both and work fine, but then, I have installed R14.01 for get old > data, > and my program for automate has problems in the following code: > > CLSID clsid; > if (::CLSIDFromProgID(OLESTR("AutoCAD.Application"), &clsid) != NOERROR) > //Here is the problem!!!! > { > ::AfxMessageBox(IDS_ERROR_ACAD); > return FALSE; > } > > It does not work neither R14.01 nor 200X, ¿how can I say to > 'CLSIDFromProgID()' > that I need get an specific AutoCAD version?, first 200X and then I have to > chage the code for R14.01. Please, help me, I need automate both versions. > > Thanks in advance, > William G.S. > > > > "Tony Tanzillo" escribió en el mensaje > news:40bfb478$1_3@newsprd01... > > Call Autodesk and ask them why they did this to you. > > > > LDATA is a custom object that stores data in a form > > that cannot be accessed from anything other than R14 > > Visual LISP. > > > > IOW, you will need to "migrate" your LDATA from R14 > > Visual LISP, to some other format. If you saved the > > files in 2000 or later format, your data is gone and > > there is no way to recover it. > > > > Many developers that bought into Visual LISP early on, > > were also screwed by this unpredicted exhibition of > > professional irresponsibility, yet Autodesk doesn't > > seem to think it was all that big a deal. > > > > Many people hold the opinion that the primary objective > > of purchasing Vital LISP and creating Visual LISP, was > > for the purpose of 'polluting' the AutoLISP standard, and > > thereby making it possible to create applications that > > would not run on IntelliCAD, in very much the same way > > that Microsoft attempted to pollute Java with Visual J++. > > > > While the objective of polluting AutoLISP was achieved, > > the collateral damage that resulted from things like > > LDATA, and the fact that Visual LISP applications and > > its reactors provided a multitude of new, unprecedented > > ways for inexperienced LISP programmers to crash AutoCAD, > > and/or do untold amounts of damage to AutoCAD .DWG files, > > is one Autodesk management's most definitive achievements > > to date. An achievement that Autodesk customers are still > > paying for to this very day, to wit your current dilemma. > > > > > > -- > > http://www.caddzone.com > > > > AutoCAD based Security Planning Solutions: > > http://www.caddzone.com/securityplanning > > > > AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005 > > http://www.acadxtabs.com > > > > > > "William" wrote in message > news:40bf35a6$1_2@newsprd01... > > > Hi all, > > > I have a lot of data stored in AutoCAD Extension Dictionaries, this data > has > > > created and stored with LISP routines (since release 14), I have been > using > > > 'vlax-ldata-put' function and all data are in complex list: > > > > > > (vlax-ldata-put "MyDict" "key" '("OBJECT01" (0 . 1) (1 . 20.3) (3 > ("data1" > > > "data2" "data3")) (4 10 11 12)) ) > > > > > > now, I am working in the new version of these routines in ObjectARX and > I > > > have problems to retrieve these lists, I am using AcDbDictionary, > > > AcDbXRecord objects and acdbEntGetX() function, but I can't get it. ¿How > can > > > I do this?. > > > > > > Thanks in advance, > > > > > > William G.S. > > > > > > > > > > > > > >
0 Likes