Author Topic: Dictionary Functions (vlax-ldata)  (Read 1794 times)

0 Members and 1 Guest are viewing this topic.

ChrisCarlson

  • Guest
Dictionary Functions (vlax-ldata)
« on: August 17, 2015, 03:30:00 PM »
I can't seem to find much documentation aside from this?

http://help.autodesk.com/view/ACD/2015/ENU/?guid=GUID-F5F376FF-9BC2-476A-9EA9-1455D28DE264

There was a previous debate here about xdata vs ldata and the general consensus was to avoid ldata because AutoDesk modified the format once, and they could do it again?

-Is either method a more native LISP approach?
-If the only issue is AutoDesk modifying ldata format, for basic setting and retrieving of data, ldata seems leaps and bounds easier than xdata.   

dgorsman

  • Water Moccasin
  • Posts: 2437
Re: Dictionary Functions (vlax-ldata)
« Reply #1 on: August 17, 2015, 04:19:03 PM »
For me its not about whether LDATA will be changed or dropped.  Its that XDATA and XRecords provide better flexibility.  Yes, LDATA is easier *but* that comes with limitations which might bite you later on as you take on more complex work.
If you are going to fly by the seat of your pants, expect friction burns.

try {GreatPower;}
   catch (notResponsible)
      {NextTime(PlanAhead);}
   finally
      {MasterBasics;}

hermanm

  • Guest
Re: Dictionary Functions (vlax-ldata)
« Reply #2 on: August 19, 2015, 04:26:15 PM »
AFAIK, the primary modern objection to ldata is lack of straightforward COM or .NET interface. In case you wish to access existing ldata using either of those, you may find it difficult or even impossible to do. If memory serves (and I am not certain it does) the great Tony T. once showed a roundabout way to access ldata using COM, but I do not recall the details.

If your intent is to access ldata solely via LISP, then I agree it is easier than XRecords, and also more self documenting. I have experienced no issues using ldata.

jjurkus

  • Guest
Re: Dictionary Functions (vlax-ldata)
« Reply #3 on: August 25, 2015, 08:36:26 PM »
I used ldata for a while, before converting everything to xdata. If I remember correctly, with ldata, you have to convert everything to a string.
I also don't know if ldata shows up using "(entget(car(entsel))'("*"))" on an object.