| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Создаем динамические блоки сварных швов

Создаем динамические блоки сварных швов

Ответ
Поиск в этой теме
Непрочитано 04.07.2007, 08:32
Создаем динамические блоки сварных швов
Владимир М
 
-
 
Ухта
Регистрация: 31.07.2005
Сообщений: 381

Вот такой интерес - кто какими динамическими блоками работает для изображения видимых швов на чертежах?
Я вот такой сделал:
Кто какой предложит?
[ATTACH]1183523559.rar[/ATTACH]
__________________
Я не волшебник, я только учусь…
Просмотров: 19093
 
Автор темы   Непрочитано 16.07.2007, 13:42
#21
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Во-во. Да, Krieger, как раз это сделать и хочу. А сослаться на полетку это хорошая идея. Но вот цвет линии мне нужен красный а не синий как сделано у тебя. Плохо, что у тебя компилированный Лисп – неплохо было посмотреть.
Я тут думаю, пора тему поменять, а то тут динамическими блоками не пахнет.
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Непрочитано 16.07.2007, 16:15
#22
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


>Владимир М
Ну ты блин даёшь. Ты реадмик читал? Там же написано:
Цитата:
(Kr_WeldLine "ШовЗаводскойУгловойВидимый" "PSK_Weld_09" 20 142), здесь:
"ШовЗаводскойУгловойВидимый" - название слоя
"PSK_Weld_09" - название типа линии из файла PSK_Line.LIN
20 - вес слоя умноженный на 100
142 - цвет слоя
142 - это цвет слоя - можешь поменять на любой другой. Хотя красный не одобряю, у нас по СТП он запрещен. Потом цвет можно применить по объекту, просто выставив цвет в свойствах палитры. Цвет слоя будет взят с параметра, а применен цвет по объекту со свойств кнопки.
Вообще отношение к цветам у нас демократичное, кому какое надо - такое и сделает (ну кроме красного). Но так-как настройки централизованные, пользователь может создать свой шаблон со своими цветами. Не одна моя прога насильно цвет не меняет. Так что если ты начинаешь работу со своего шаблона, то можешь просто прописать эти слои со своими цветами - они остануться нетронутыми.
Krieger вне форума  
 
Автор темы   Непрочитано 16.07.2007, 22:11
#23
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Вот типа того - взял по примеру У Дениса Флюстикова - огромное емму спасибо
Вот макрос:
^C^C^P(defun C:weld_VVM ()(command "_.PLINE")(while(=(getvar 'CMDNAMES)"PLINE")(command pause))(if(tblsearch "Layer" "Сплошная тонкая")(entmod(subst(cons 8 "Сплошная тонкая")(assoc 8(entget(entlast)))(entget(entlast)))))(princ)); weld_VVM
Вот только одна проблема как добавить Тип линии например (tblsearch “LTYPE” “CONTINUOUS”) lkz DXF - кода (cons 6 " CONTINUOUS")
Пока пробую ... и еще если буду использовать другой тип линии, как в макросе его подгрузить? Может поможет кто в моих действиях. Буду рад любой подсказке.
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Непрочитано 17.07.2007, 00:12
#24
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
Не пойму зачем динамический блок создавать, для сварного шва???
Если можно тупо сделать тип линии сварного шва, что намного удобнее.
Аналогичный вопрос к сисофту - зачем делать ARX - объект сварного шва.
Sleekka вне форума  
 
Непрочитано 17.07.2007, 06:29
#25
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Владимир М
Цитата:
Вот типа того - взял по примеру У Дениса Флюстикова - огромное емму спасибо
Вот макрос:
^C^C^P(defun C:weld_VVM ()(command "_.PLINE")(while(=(getvar 'CMDNAMES)"PLINE")(command pause))(if(tblsearch "Layer" "Сплошная тонкая")(entmod(subst(cons 8 "Сплошная тонкая")(assoc 8(entget(entlast)))(entget(entlast)))))(princ)); weld_VVM
По макросу:
- если слой будет отсутсвовать, то будет чертиться в текущем, поэтому надо бы его создать;
- если нажать esc, то слой не поменяется.

Чем тебе моя функция не нравится?
Можешь сделать такую кнопку:
Код:
[Выделить все]
(Kr_WeldLine "Сплошная тонкая" "continuous" aclnwt050 15)
Подгрузка линий - http://www.autocad.ru/cgi-bin/f1/board.cgi?t=22730iW
И вообще, все уже сделали до нас - http://www.autocad.ru/cgi-bin/f1/board.cgi?t=33159gI
Krieger вне форума  
 
Автор темы   Непрочитано 17.07.2007, 08:30
#26
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Спасибо, Krieger. Инфы много - надо разобраться.
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Автор темы   Непрочитано 18.07.2007, 00:22
#27
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Цитата:
Krieger

Чем тебе моя функция не нравится?
Можешь сделать такую кнопку:
Код:
[Выделить все]
(Kr_WeldLine "Сплошная тонкая" "continuous" aclnwt050 15)
Да кстати попробывал макрос к примеру к стыковому шву
Код:
[Выделить все]
^C^C(Kr_WeldLine "Сплошная тонкая" "PSK_Weld_01" aclnwt050 1)
Все работает. Хотелось бы на лиспе еще разобраться.
Кстати, _PLINE - это хорошо а если кругом захочется, хотя _PLINE тоже но, не очень хорошо (прирываем кривую)
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Непрочитано 18.07.2007, 06:01
#28
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Цитата:
Сообщение от Владимир М
Кстати, _PLINE - это хорошо а если кругом захочется, хотя _PLINE тоже но, не очень хорошо (прирываем кривую)
Если захочется кругом, то пользуем опцию "_Arc" у полилиний. Если хочется сплайном (да и любым другим entity), то рисуем этот сплайн в любом слое, выделяем и жмем мою кнопку с соответствующим типом шва - у выделеных entity слой поменяется на прописанный в параметрах функции Kr_WeldLine. На крайний случай можно вручную слой поменять, благо названия у них соответсвующие. Если надо развернуть тип линии у дуг, то меняем его по объекту на такой-же, но с литерой "R".
Krieger вне форума  
 
Автор темы   Непрочитано 18.07.2007, 09:30
#29
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Все хорошо. Только вот - хотел поменть все слои сварных швов на один слой "Сварка" в файле палетки, но слои у вас Krieger все по слою. Можно ли это сделать? Работаю в Рус ACAD...
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Непрочитано 18.07.2007, 10:04
#30
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Сделать то можно... А чем слои то не нравяться? По началу я сам так работал, но это было неудобно и я перешёл на слои. Свойства по объекту я назначаю в редких исключительных случаях и в блоках. А более оно не надо. Лучше переучитесь, тем более что лично вам то их дергать не надо и создаст и поменяет слой сама функция.
Переубедил?
Krieger вне форума  
 
Автор темы   Непрочитано 18.07.2007, 15:32
#31
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Да по идеи, это хорошо - швы считать по длине удобно, только слоев куча будет - хотя если не все то не куча - Ну вроде убедил.
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Непрочитано 19.07.2007, 07:41
#32
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Да нифига не куча, от силы пользовать то будешь штуки 4-е. Да и потомом если их исключить в фильтрах, то их вообще не увидишь.
Krieger вне форума  
 
Непрочитано 04.09.2007, 09:47
#33
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Из спортивного интереса сделал свой вариант динамического блока сварного шва:
[ATTACH]1188884856.dwg[/ATTACH]
Krieger вне форума  
 
Непрочитано 11.09.2007, 14:52
#34
Vasik

инженер проектировщик
 
Регистрация: 27.08.2007
Казань
Сообщений: 5


вот мой блок, но он требует дороботки! может кто поможет довести до ума?!
[ATTACH]1189507948.dwg[/ATTACH]
Vasik вне форума  
 
Непрочитано 11.09.2007, 15:18
#35
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Vasik
Шо сие такое? С этим работать невозможно. Смотри пост №33.
Krieger вне форума  
 
Автор темы   Непрочитано 11.09.2007, 21:17
#36
Владимир М

-
 
Регистрация: 31.07.2005
Ухта
Сообщений: 381
<phrase 1=


Я с Krieger, совершенно согласен не стоит заниматься этим, уж ты мне поверь как затейнику данной темы, и согласиь у Krieger лучше и проще решение данной задачи!
__________________
Я не волшебник, я только учусь…
Владимир М вне форума  
 
Непрочитано 12.09.2007, 09:24
#37
Vasik

инженер проектировщик
 
Регистрация: 27.08.2007
Казань
Сообщений: 5


У Krieger хороший дин блок не спорю! В нем даже использован параметр поиска с которым я пока еще не разобрался! но в нем только заводской шов! я же попытался совместить в одном блоке монтажный и заводской! и моя идея вместо отражения ресничек сварного шва применить перемещение тоже гляжу не понравилась, хотя это сокращает количество ручек(имею ввиду монтажный шов). в итоге просил помощи - получил только критику!
Vasik вне форума  
 
Непрочитано 12.09.2007, 09:31
#38
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844


Vasik, ты меня, конечно, извини, но конкретной просьбы о помощи лично я не услышал. Фраза "Помогите довести до ума" слишком расплывчата.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.09.2007, 09:47
#39
Vasik

инженер проектировщик
 
Регистрация: 27.08.2007
Казань
Сообщений: 5


Цитата:
Сообщение от Кулик Алексей aka kpblc
Vasik, ты меня, конечно, извини, но конкретной просьбы о помощи лично я не услышал. Фраза "Помогите довести до ума" слишком расплывчата.
ну может и расплывчаты! спрошу тогда конкретно: как сделать чтобы в моем блоке сварной шов начинался с базовой точки и ручка растяжения совпадала с концом сварного шва, а не отставала? мне кажется у меня массив и растяжение не корректно заданы! Помогите!
Vasik вне форума  
 
Непрочитано 12.09.2007, 10:47
#40
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Vasik
Ну наконец-то что-то конкретное.
Проблема в данном блоке в том, что длина повторяющейся части в видимом и невидимом шве различная, а значит при совмещении их в один блок начинаются проблемы и с array (различный шаг), и ручка растяжения начинает скакать при переключении швов. Чтобы при переключениях базовая точка и ручка растяжения оставалась на месте пришлось воспользоваться двойным масштабированием, первый увеличивает до нужных размеров невидимый шов вместе с полярным параметром, второй возвращает полярный параметр обратно.
Насчет количества ручек, то у тебя их помоему больше. Насчет перехода к стыковому шву, то я пытался сделать при помощи перемещения, но корректной работы этого с полярным параметром неполучилось, поэтому пришлось отказаться.
Цитата:
мне кажется у меня массив и растяжение не корректно заданы!
Мне тоже так кажется. Удали Полярный параметр, растяжение и массив и сделай заново. Причем масиив нужно делать после растяжения и не трогая горизонтальный отрезок. А в растяжении указать рамкой кончик горизонтального отрезка, выбрать его для растяжения и выбрать вертикальный при запросе "Specify objects to rotate only". И совмести начало отрезка с нулевой координатой.
Krieger вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Создаем динамические блоки сварных швов

Размещение рекламы