Ограничения entmakex

Автор Тема: Ограничения entmakex  (Прочитано 8711 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ограничения entmakex
« Ответ #15 : 27-11-2018, 15:09:01 »
Я так понял, что проблема именно в этом - невозможно создать анонимный блок, если число превышает 2^15-1
Нет. Блок создаётся, но не вставляется.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Кирилл НикифоровАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 4
Re: Ограничения entmakex
« Ответ #16 : 27-11-2018, 15:16:01 »
Код - Auto/Visual Lisp [Выбрать]
  1. (defun testblock ()
  2.  (entmake (list
  3.               (cons 0 "BLOCK")
  4.               (cons 100 "AcDbEntity")
  5.               (cons 8 "0")
  6.               (cons 100 "AcDbBlockBegin")
  7.               (cons 2 "*Unnamed")
  8.               (cons 70 1)
  9.               (cons 10 (list 0.0 0.0 0.0))))
  10.   (entmakex (list (cons 0 "LWPOLYLINE")
  11.                   (cons 100 "AcDbEntity")
  12.                   (cons 100 "AcDbPolyline")
  13.                   (cons 90 3)
  14.                   (cons 8 "0")
  15.                   (cons 10 (quote (-150.0 0.0)))
  16.                   (cons 40 300.0)
  17.                   (cons 41 50.0)
  18.                   (cons 42 0.0)
  19.                   (cons 10 (quote (100.0 0.0)))
  20.                   (cons 40 300.0)
  21.                   (cons 41 300.0)
  22.                   (cons 42 0.0)
  23.                   (cons 10 (quote (150.0 0.0)))
  24.                   (cons 40 0.0)
  25.                   (cons 41 0.0)
  26.                   (cons 42 0.0)))
  27.   (entmake (list
  28.               (cons 0 "ENDBLK")
  29.               (cons 100 "AcDbEntity")
  30.               (cons 100 "AcDbBlockEnd")
  31.               (cons 8 "0"))))
  32.  
  33. (defun make-blocks ( / aName aNum)
  34.   (setq aName "0"
  35.         aNum 0)
  36.   (while (and aName (< aNum 33000))
  37.     (setq aName (testblock)
  38.           aNum (1+ aNum)))
  39.   (princ aName))
  40.  
  41. (defun test (aName)
  42.   ;; (setq aName "*U33000")        
  43.  (entmakex
  44.    (list
  45.      (cons 0 "INSERT")
  46.      (cons 100 "AcDbEntity")
  47.      (cons 100 "AcDbBlockReference")
  48.      (cons 2 aName)
  49.      (cons 10 (list 0.0 0.0 0.0))
  50.      (cons 50 0.0))))
  51.  
  52. ;;; (make-blocks)
  53. ;;; (test "*U32767")
  54. ;;; (test "*U32768") - nil
  55.  

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ограничения entmakex
« Ответ #17 : 27-11-2018, 15:27:20 »
Кирилл Никифоров,
В AutoCAD 2019.1.2 (т.е. в последней на данный момент версии) не работает. Так что отправляю в ADN DevHelp. Спасибо!
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Кирилл НикифоровАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 4
Re: Ограничения entmakex
« Ответ #18 : 27-11-2018, 15:28:32 »
Вам спасибо, Александр, за содействие и сочувствие.  :)

Оффлайн Кирилл НикифоровАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 4
Re: Ограничения entmakex
« Ответ #19 : 27-11-2018, 15:42:04 »
А если после создания 33000 анонимных блоков попробовать создать именованный, то при попытке вставки возвращается УДАЛЕННОЕ <EntityName>.
Код для теста:

Код - Auto/Visual Lisp [Выбрать]
  1. (defun named-testblock ()
  2.  (entmake (list
  3.               (cons 0 "BLOCK")
  4.               (cons 100 "AcDbEntity")
  5.               (cons 8 "0")
  6.               (cons 100 "AcDbBlockBegin")
  7.               (cons 2 "TestBlock") ;_ BlockName
  8.               (cons 70 0)
  9.               (cons 10 (list 0.0 0.0 0.0))))
  10.   (entmakex (list (cons 0 "LWPOLYLINE")
  11.                   (cons 100 "AcDbEntity")
  12.                   (cons 100 "AcDbPolyline")
  13.                   (cons 90 3)
  14.                   (cons 8 "0")
  15.                   (cons 10 (quote (-150.0 0.0)))
  16.                   (cons 40 300.0)
  17.                   (cons 41 50.0)
  18.                   (cons 42 0.0)
  19.                   (cons 10 (quote (100.0 0.0)))
  20.                   (cons 40 300.0)
  21.                   (cons 41 300.0)
  22.                   (cons 42 0.0)
  23.                   (cons 10 (quote (150.0 0.0)))
  24.                   (cons 40 0.0)
  25.                   (cons 41 0.0)
  26.                   (cons 42 0.0)))
  27.   (entmake (list
  28.               (cons 0 "ENDBLK")
  29.               (cons 100 "AcDbEntity")
  30.               (cons 100 "AcDbBlockEnd")
  31.               (cons 8 "0"))))
  32.  
  33. ;;; (named-testblock)
  34. ;;; (test "TestBlock")
  35.  

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ограничения entmakex
« Ответ #20 : 27-11-2018, 15:46:21 »
А если после создания 33000 анонимных блоков попробовать создать именованный, то при попытке вставки возвращается УДАЛЕННОЕ <EntityName>.
Думаю, что оно тут взаимосвязано с предыдущей ошибкой. Так что если они разберутся с ней, то эта уйдёт автоматически.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ограничения entmakex
« Ответ #21 : 01-12-2018, 00:49:43 »
Баг подтвердили. Так что когда-нибудь исправят. :-)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Кирилл НикифоровАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 4
Re: Ограничения entmakex
« Ответ #22 : 03-12-2018, 10:53:08 »
Спасибо, Александр.
Жаль, надежды на исправление маловато...