|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Создание штриховки с помощью лисп
Регистрация: 28.10.2019
Сообщений: 57
|
||
Просмотров: 3238
|
|
||||
Регистрация: 28.10.2019
Сообщений: 57
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Может, стоит все же менять коды, а не дополнять? subst в руки и вперед, если с ActiveX играться не сильно охота )
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
если речь о расширенных данных, которые автокад присоединяет к штриховке...
ну вот vla-вариант для начала. Код:
__________________
K Lisp Последний раз редактировалось koMon, 14.07.2023 в 10:31. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Вариант без vla
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 29.07.2023 в 10:35. |
|||
![]() |
|
||||
Регистрация: 28.10.2019
Сообщений: 57
|
Не было времени отписаться и испробовать все варианты. Завал был небольшой.
В общем код из сообщения №9 рабочий как часы. Один момент, не могу найти DXF код для цвета фона штриховки в мануале. В крайне редких случаях мне нужна заливка фона допустим зеленым цветом. Прекрасно работающий вариант (сообщение №8). Плохо знаю vla поэтому пока не подтяну, не понятно как поменять цвет фона, угол, масштаб, аннотативность и ассоциативность штриховки. Последний раз редактировалось Nikilin, 28.07.2023 в 07:39. |
|||
![]() |
|
||||
смотря на какой цвет менять, в общем случае у объекта-штриховки есть свойство backgroundcolor -> (vla-put-backgroundcolor hatch_object AcCmColor_object)
(vla-put-patternangle hatch_object angle_in_radians) (vla-put-patternscale hatch_object decimal_number) надо читать мануалы предпоследний аргумент у функции создания штриховки
__________________
K Lisp |
||||
![]() |
|
||||
Регистрация: 28.10.2019
Сообщений: 57
|
Цитата:
С остальным вроде разобрался. Последний раз редактировалось Nikilin, 28.07.2023 в 12:58. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Обновил #9 Добавил команду create-hatch-green
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
соррян, это для цвета штриховки) BackGroundColor
__________________
K Lisp |
||||
![]() |
|
||||
Регистрация: 28.10.2019
Сообщений: 57
|
Цитата:
Код:
Последний раз редактировалось Nikilin, 28.07.2023 в 20:34. Причина: Дополнение |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Nikilin, Я добавил к коду пропущенную функцию, которая используется. Нужно еще раз скопировать и загрузить
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 28.10.2019
Сообщений: 57
|
Цитата:
![]() К сожалению на сколько я понял. Могу быть не прав. Цвет заливки изменить через DXF группу нельзя. Или тут тоже есть свои особенности. В общем изучив "http://docs.autodesk.com/ACD/2011/ENU/filesDXF/WS1a9193826455f5ff18cb41610ec0a2e719-7a13.htm", подобную группу я не нашел. Вариации рабочих LSP добавлю в шапке, немного позже. Последний раз редактировалось Nikilin, 01.08.2023 в 11:09. |
|||
![]() |
|
||||
Регистрация: 28.10.2019
Сообщений: 57
|
Задам еще вопрос. Решил все же сделать вариацию с RGB вариантом и завис
В общем не могу адекватно считать RGB код Пример. 1. У меня есть команда установки цвета. Прикручивается к отдельной кнопке. Код:
Для примера немного измененный код из сообщения 13 Код:
Пролистал замечательную книжку Николая Полещука AutoLisp и не нашел то, что могло бы мне помочь. Ответ скорей всего банален, но я в ступоре. Последний раз редактировалось Nikilin, 01.08.2023 в 11:25. |
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 627
|
Метод (vla-setrgb ...) требует четыре параметра, а Вы пытаетесь скормить ему только два.
Разбейте переменные PER3 и PER4 на три отдельных значения (каждую) - и будет счастье. А как - обсуждалось здесь же. Тема: "Как в автолиспе перевести строку с пробелами в список?"
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
setrgb должна получить прямые цветовые координыты перечислением, соответственно per3 и per4 должны быть списками , а передача цвета в setrgb должна выглядеть как-то так (vla-SetRGB color1 (car PER3) (cadr per3) (caddr per3))
__________________
K Lisp |
||||
![]() |
|
||||
Регистрация: 28.10.2019
Сообщений: 57
|
Цитата:
Возвращает ошибку к сожалению. Не понял почему. Нету сообщения, есть только подсветка этого фрагмента. На работе отладка криво работает. Вечером попробую проверить на домашнем. На работе работает тока вариант (setq PER3R (atoi *GE-COL-R*)) ; (setq PER3G (atoi *GE-COL-G*)) ; (setq PER3B (atoi *GE-COL-B*)) ; (setq PER4R (atoi *GE-BCOL-R*)) ; (setq PER4G (atoi *GE-BCOL-G*)) ; (setq PER4B (atoi *GE-BCOL-B*)) ; Задать все переменные по отдельности и преобразовать каждый в число из текста. Минус такого способа в том что надо вызывать 3 программы для задания цвета, а не одну. ----- добавлено через ~5 мин. ----- Изучу спасибо. |
|||
![]() |
|
||||
если хочется и индексный цвет и rgb или вдруг книжный, то лучше сделать небольшой диалог на запрос всех параметров штриховки. в выборе цвета очень удобна функция (acad_truecolordlg...), правда она возвращает rgb цвет в dxf коде и в десятичном числе, которое нужно расшифровывать для извлечения R, G, B.
__________________
K Lisp |
||||
![]() |
|
||||
Регистрация: 28.10.2019
Сообщений: 57
|
Цитата:
Объясню логику, что я делаю. Кнопка допусти на штриховку будет такая. ^C^CSET-LAY;СЛОЙ;^C^CSET-COLOR-RGB;"70 70 70";....По аналогии другие переменные^C^CGEO-HATCH-RGB Таким образом при желании повторить и нажать enter переменные уже установлены глобально и работает только часть GEO-HATCH-RGB В общем криво, но логику объяснил. Именно поэтому усложнять слишком не стоит. Для макроса лучше оставить как есть. Если доведу до ума может и выложу исходники, где нибудь в сообщение. Мало ли кто решит заморочиться тем же. Уже были топорные команды для всего, которые в каждой команде задавали вопросы и устанавливали локальные переменные. Оказалось не так удобно, как выглядело вначале. Последний раз редактировалось Nikilin, 02.08.2023 в 05:03. Причина: Дополнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Найди в коде строку
Цитата:
Цифры 3 и 1 - это ACI (Autocad Color Index) зеленый и красный соотвественно Вместо них могут быть цифры от 1 до 256. Таблица ACI цветов ----- добавлено через ~10 мин. ----- Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 28.10.2019
Сообщений: 57
|
Цитата:
Я прекрасно понимаю что цвет определяется таблицей ACI, но Мне интересна DXF группа цвета заливки штриховки, и именно ее я в справочниках не нашел. 62 группа отвечает за цвет самой штриховки и она прекрасно работает. Думал что если группа 70 установленная на "1" , то 63 может поменять цвет фона, но не работает (в справочнике описана как "For MPolygon, pattern fill color as the ACI") А группа 70 как "Solid fill flag (solid fill = 1; pattern fill = 0); for MPolygon, the version of MPolygon" Последний раз редактировалось Nikilin, 02.08.2023 в 18:47. |
|||
![]() |
|
||||
Цитата:
зато она есть в расширенных данных, опять же в десятичном числе.
__________________
K Lisp |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание и восстановление профиля Автокад с помощью файла reg | olga87 | AutoCAD | 3 | 27.12.2020 19:22 |
Масштаб штриховки, указанный в свойствах, не соответствует масштабу на чертеже | wepp | AutoCAD | 10 | 31.08.2016 09:16 |
Макрос VBA Excel для извлечения таблиц из линий, полилиний, текста из DWG файлов в Excel с помощью NanoCAD/AutoCAD | JZY | Готовые программы | 8 | 14.07.2016 06:31 |
Как отключить вкладку "Редактор штриховки" при выборе штриховки? | EvilBraiN | AutoCAD | 5 | 13.07.2016 09:35 |