2. Не нашел в SDK ничего, связанного с IdBuffer. С какой стороны к нему подойти, чтобы иметь возможность прочитать/записать в него данные?Это что за IdBuffer?
А мне казалось, что есть. <EntityName: 0>Ок, может быть и есть. Но лично я бы предпочел получить NIL вместо этого пустого ENAME.
AcDbIdBufferЭто недокументированная вещь и поэтому использовать не рекомендую. Для него нет никакого API. И честно говоря не понимаю зачем его можно использовать.
В лиспе (0 . "IDBUFFER")
Очень полезная оказалась вещь. Активно использую... но пока только в лиспе.
Ок, может быть и есть. Но лично я бы предпочел получить NIL вместо этого пустого ENAME.Дык Nil - это пусто, а <EName: 0> значит, что объект был и был удален, и скорее всего не в этой сессии акада.
Дык Nil - это пусто, а <EName: 0> значит, что объект был и был удален, и скорее всего не в этой сессии акада.а если возвращать LispDataType.None (int 5000) ?
а если возвращать LispDataType.None (int 5000) ?
А вот как передать такие данные из .net в лисп - вопрос.Никак. Причем это не единственные данные, которые не передаются lisp <-> C#
Никак. Причем это не единственные данные, которые не передаются lisp <-> C#Это - да... и символы никак, и с листами - беда...
DXF-список передать можно (по аналогии с тем, как это передаётся из/в ObjectARX), но придётся извращаться.У меня была надежда ускорить функции, используемые в лиспе, переписав их на c#. А с извращениями и неполной "совместимостью" быстрее не получится. Думаю, правильно будет разделить код на более крупные блоки. На лиспе оставить отлаживаемые алгоритмы, а отлаженные потихоньку перетаскивать под c#. И если писать какие-то лисп-функции на с#, то без аргументов. Результаты вычислений - только в Dictionary и XRecord. Где-то так.
Результаты вычислений - только в Dictionary и XRecord.Результаты вычислений???