Тема: Какая переменная содержит размеры масштабированного блока?
Если блок непропщрцыонально скалирован, какая переменная присваивет его размеры? по X,Y,Z
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → Настройка меню и DIESEL → Какая переменная содержит размеры масштабированного блока?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Если блок непропщрцыонально скалирован, какая переменная присваивет его размеры? по X,Y,Z
Такой общей переменной нет. Это свойства конкретной вставки блока. Их и надо менять. А уж как - через DXF, через ActiveX - это по вкусу и привычкам.
Я ответил на вопрос?
можно эти актуальные свойства вставлять в чертёж при помощи RTEXT (DIESEL)?
Ну смотри, допустим, есть вставка блока "Block1" (это важно - свойства масштабов работают только на вставках блока, но не на описании). Тогда (entget(car(entsel))) вернет нечто типа:
_$ (entget(car(entsel))) ((-1 . <Entity name: 7ef62f90>) (0 . "INSERT") (330 . <Entity name: 7ef62cf8>) (5 . "EA") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbBlockReference") (2 . "ter") (10 579.027 231.643 0.0) (41 . 1.0) (42 . 2.0) (43 . 3.0) (50 . 0.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0))
В парах с DXF-кодами 41, 42 и 43 содержатся коэффициенты масштабирования по x, y и z сообветственно. Т.е. получить их не проблема.
то же самое, но через ActiveX:
_$ (setq aa (vlax-ename->vla-object (car(entsel)))) #<VLA-OBJECT IAcadBlockReference 0647fdf4> _$ (vla-get-XScaleFactor aa) 1.0 _$ (vla-get-YScaleFactor aa) 2.0 _$ (vla-get-ZScaleFactor aa) 3.0
А уж потом вставлять как текст, аннотацию к выноске, атрибут - по вкусу и потребностям.
Упс, имя блока для проверки было ter, а не block1. Сорри...
Дурацкое слово - "скалирован". Может, сканирован, или скальпирован (в смысле, сняли скальп)? Можно же было написать - "масштабирован". Ctrl+Ё.
Хех, есть еще один момент. Если в блоке хотя бы один коэффициент не равен остальным, редактировать блок становится невозможно (ACAD 2005)
спасибо вижу что мало чего понимаю, времениразбираться совершенно нет...
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → Настройка меню и DIESEL → Какая переменная содержит размеры масштабированного блока?
Форум работает на PunBB, при поддержке Informer Technologies, Inc