ObjectID, 32- и 64-разрядные AutoCAD’ы и AutoCAD 2015
В достаточно старой статье был показан метод получения указателя на объект по его ID. И все работало - пока я не запустил код на ACAD2015x64
Как выяснилось, ACAD2015 (даже 64-разрядный) "не знает" метода ObjectIDToObject32. Поэтому для универсальности кода пришлось поступить таким образом (заодно немного увеличил быстродействие кода):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | (defun _kpblc-objectidtoobject (obj id) ;| * получение объекта по его ID * параметры вызова: obj указатель на объект документа id значение ID получаемого объекта |; (if (and (> (vl-string-search "x64" (getvar "platform")) 0) (vlax-method-applicable-p obj 'objectidtoobject32) ) ;_ end of and (vla-objectidtoobject32 obj id) (vla-objectidtoobject obj id) ) ;_ end of if ) ;_ end of defun |