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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос для вставки блока

Макрос для вставки блока

Ответ
Поиск в этой теме
Непрочитано 02.03.2010, 12:11
Макрос для вставки блока
V1ktor1a
 
Регистрация: 19.10.2009
Сообщений: 30

простите мож влезаю не туда, но перенаправьте тогда
нужно в макросе к кнопке написать: вставить блок(заранее созданный с привязкой в центре) например дым1 и чтоб в командной писалось укажите точку вставки и чик вставляется мой бллок)
заранее спасибо)

Последний раз редактировалось Солидворкер, 02.03.2010 в 12:39.
Просмотров: 22562
 
Непрочитано 30.05.2011, 15:40
#61
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


в Toolpac есть такая команда (DSTP_BLKATTGPRA), поворачивает все атрибуты выбранных блоков на заданный угол
Nike вне форума  
 
Непрочитано 30.05.2011, 15:51
#62
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Лисп от Nike, вероятно, сделает то-же что и макрос их ссылки 57

Макрос, изменяющий цвет атрибута блока

*^C^C_-Attedit;;;;;;_Color;2;;

Здесь показан цвет №2 то есть желтый, он меняется на нужный.

Макрос, изменяющий угол поворота атрибута....
Впрочем попробуйте его создать самостоятельно, по аналогии с предыдущим.

программа, вращающая атрибуты автоматом, может быть выполнена только для частного случая абсолютно симметричного блока, в центре которого и находится атрибут. То есть в идеале-круга. Если применяется лисп или макрос, делающий врашение шаг за шагом, всегда можно отследить и поправить вылезший за границу дозволенного атрибут
Vova вне форума  
 
Непрочитано 30.05.2011, 16:07
#63
dafara


 
Регистрация: 31.05.2010
Сообщений: 37


Цитата:
Сообщение от Nike Посмотреть сообщение
в Toolpac есть такая команда (DSTP_BLKATTGPRA), поворачивает все атрибуты выбранных блоков на заданный угол
К сожалению, не обладаю данным ПО..

Vova, с макросом буду копаться.

Не думал, что все так сложно. Странно, что нет возможности задать атрибуту блока постоянный угол в свойствах и радоваться жизни..
dafara вне форума  
 
Непрочитано 30.05.2011, 16:09
#64
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


Цитата:
Сообщение от dafara Посмотреть сообщение
Странно, что нет возможности задать атрибуту блока постоянный угол в свойствах и радоваться жизни
в динамическом блоке - есть

программно можно так:
Код:
[Выделить все]
 ;;;;;;;;;;;;;;;;;;;; Функция поворота аттрибута после вставки ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun kpblc-attr-rot (block ang-list / ang) ;block -имя примитива
    ;ang-list -список типа '(("STROKA_1" . 0 )  ("STROKA_2" . 60 ) ("STROKA_3" . 90 ))
  (foreach x (vlax-safearray->list
               (vlax-variant-value
                 (vla-getattributes (setq block (vlax-ename->vla-object block))) ;_ vla-GetAttributes
               ) ;_ vlax-variant-value
             ) ;_ vlax-safearray->list
    (cond ((= (vla-get-invisible x) :vlax-true))
          ((= (vla-get-constant x) :vlax-true))
          ((setq ang (assoc (vla-get-tagstring x) ang-list))
           (if (cdr ang)
             (vla-put-rotation x (* (cdr ang) (/ pi 180)))
             (vla-put-rotation x (vla-get-rotation block))
           ) ;_ if
          )
          (t
           (vla-put-rotation
             x
             (* (/ (angle (trans '(0.0 0.0) 1 0) (trans '(1.0 0.0) 1 0)) ;_ angle
                   pi
                ) ;_ /
                180
             ) ;_ *
           ) ;_ vla-put-rotation
          )
    ) ;_ cond
  ) ;_ foreach
) ;_ defun
 
;;;пример вызова
;;;(kpblc-attr-rot (car (entsel))
;;;    '(("STROKA_1" . 30) ("STROKA_2" . 60) ("STROKA_3" . 90) ("STROKA_4" . nil))
;;;) ;_ kpblc-attr-hor
взято отсюда - http://www.caduser.ru/forum/index.ph...#message110088
Nike вне форума  
 
Непрочитано 30.05.2011, 17:06
#65
dafara


 
Регистрация: 31.05.2010
Сообщений: 37


Цитата:
Сообщение от Nike Посмотреть сообщение
в динамическом блоке - есть
Программно понял как.
А как сделать в динамическом блоке без программы?
dafara вне форума  
 
Непрочитано 30.05.2011, 17:23
#66
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


Цитата:
Сообщение от dafara Посмотреть сообщение
как сделать в динамическом блоке без программы?
Пример:
Вложения
Тип файла: dwg
DWG 2010
Чертеж1.dwg (62.6 Кб, 1562 просмотров)
Nike вне форума  
 
Непрочитано 30.05.2011, 17:30
#67
dafara


 
Регистрация: 31.05.2010
Сообщений: 37


Nike, пожалуйста, сохраните в 2008 автокаде..
dafara вне форума  
 
Непрочитано 30.05.2011, 17:34
#68
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


2007
Вложения
Тип файла: dwg
DWG 2007
Чертеж1.dwg (74.1 Кб, 1546 просмотров)
Nike вне форума  
 
Непрочитано 30.05.2011, 17:48
#69
dafara


 
Регистрация: 31.05.2010
Сообщений: 37


Цитата:
Сообщение от Nike Посмотреть сообщение
2007
У меня точь-в-точь блок, только с одним атрибутом.

Block.dwg

Вытаскиваю его на палитру инструментов->кликаю правой кнопкой-> выбираю свойства->запрос угла поворода (да)->вставляю блок в чертеж и получается то, что Вы видите в файле. А переворачивать атрибуты постоянно - долго и неинтересно. Должен же быть способ установить постоянный угол 0?
На первое время буду пользовать предложенную программу, спасибо за нее. Но вопрос остается открытым.
dafara вне форума  
 
Непрочитано 30.05.2011, 18:00
#70
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


вставляй с палитры с помощью командной строки
(command "_insert" "Опов. schrack" "_x" 1 "_y" 1 "_z" 0.1 pause pause) (kpblc-attr-rot (cdr (assoc -1 (entget (entlast)))) '(("*" . 0)))

[IMG]http://s39.***********/i083/1105/64/961dbc75346b.png[/IMG]
Nike вне форума  
 
Непрочитано 31.05.2011, 09:31
#71
dafara


 
Регистрация: 31.05.2010
Сообщений: 37


Цитата:
Сообщение от Nike Посмотреть сообщение
вставляй с палитры с помощью командной строки
(command "_insert" "Опов. schrack" "_x" 1 "_y" 1 "_z" 0.1 pause pause) (kpblc-attr-rot (cdr (assoc -1 (entget (entlast)))) '(("*" . 0)))
Отличная идея, Nike!
Но опять засада. В 2008 акаде нет возможности вставки из командной строки..
dafara вне форума  
 
Непрочитано 31.05.2011, 09:35
#72
AlphaGeo


 
Сообщений: n/a


dafara, создай на палитре какой-либо инструмент рисования, отрезка, например. Там и будет это командная строка, о которой пишет Nike.

Добавлено:
Использование подменю (верхняя строка свойств инструмента) должно быть отключено.
 
 
Непрочитано 31.05.2011, 10:45
#73
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


а не проще без палитры, создать меню графических обозначений?

[IMG]http://s52.***********/i135/1105/f7/de5d6b249f1e.jpg[/IMG] [IMG]http://i028.***********/1105/f4/26ca1db80338.jpg[/IMG]
Nike вне форума  
 
Непрочитано 31.05.2011, 10:57
#74
dafara


 
Регистрация: 31.05.2010
Сообщений: 37


Цитата:
Сообщение от AlphaGeo Посмотреть сообщение
dafara, создай на палитре какой-либо инструмент рисования, отрезка, например. Там и будет это командная строка, о которой пишет Nike.

Добавлено:
Использование подменю (верхняя строка свойств инструмента) должно быть отключено.
Да, нашел такую штуку. Осталось научиться писать команды Сегодня попробую сотворить чудо..
Цитата:
Сообщение от Nike Посмотреть сообщение
а не проще без палитры, создать меню графических обозначений?
Nike, с одной стороны проще, с другой стороны в моей библиотеке помимо условных обозначений еще схемы подключения, рамки разные. Целая куча всего.
Идея в создании общей библиотеки устройств, условных обозначений для всеобщего пользования. Она должна быть гибкой и легко редактироваться, размещаться на сервере и обновляться. Но в то же время платные версии не рассматриваются. Вот и ломаю себе голову..
dafara вне форума  
 
Непрочитано 31.05.2011, 10:58
#75
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


dafara, давай меняться! есть наработки..
http://files.mail.ru/0IXUFE

Последний раз редактировалось Nike, 31.05.2011 в 11:06.
Nike вне форума  
 
Непрочитано 16.06.2013, 09:42
#76
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Цитата:
Сообщение от Vova Посмотреть сообщение
Пошёл по ссылке как вроде нашёл то что надо
*^C^C_Rotate;\\;2

Макрос работает не очень корректно. Мне часто нужно поворачивать на 45 градусов. Сделал кнопку с макросом в таком виде ^C^C_Rotate;\\;45 первый круг прошло нормально, но втором я перед этим использовал поворот 180 градусов и макрос поворачивал 180 а не на 45. Что в нём нужно изменить что бы он работал нормально т.е. поворачивал на заданный угол.
Valery Brelovsky вне форума  
 
Непрочитано 17.06.2013, 15:46
1 | #77
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от Valery Brelovsky Посмотреть сообщение
^C^C_Rotate;\\;45
*^C^CROTATE;\\;\45
В данной статье было неск ошибок с макросами работы с атрибутами, Админ сказал что ошибки появились при копировании по какой-то технической причине, которую я не запомнил, и исправил. (В первоисточнике все было верно) Теперь проявились еще две ошибки, в данном макросе и в том который изменяет масштаб объекта один за другим. Правильно так: *^C^C_SC;\\;\2 Напоминаю, две первые косые палочки означают что по объекту надо кликнуть дважды, или взять его рамкой. Затем указать базовую точку, и усе Цифра (в данном случае 2) меняется вручную в зависимости от нужного
Прошу админа подправить.

Последний раз редактировалось Vova, 17.06.2013 в 16:04.
Vova вне форума  
 
Непрочитано 18.06.2013, 16:50
#78
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Цитата:
Сообщение от Vova Посмотреть сообщение
*^C^C_.ROTATE;\\;\45
Напоминаю, две первые косые палочки означают что по объекту надо кликнуть дважды, или взять его рамкой. Затем указать базовую точку
Спасибо этоже совсем другое дело.
Valery Brelovsky вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Макрос для вставки блока

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу серию ИИ-65. Лестничные марши и площадки. Metalist Поиск литературы, чертежей, моделей и прочих материалов 15 25.10.2020 16:49
как сделать макрос для кнопки "зеркало" vasyavip Программирование 2 10.04.2013 23:43
Закладные лифтовых приямков винсент75 Поиск литературы, чертежей, моделей и прочих материалов 13 11.08.2009 10:16
Юмор 2007 Огурец Разное 1172 29.12.2007 11:16