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

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

Мои макрокоманды

Ответ
Поиск в этой теме
Непрочитано 19.05.2008, 15:20 1 |
Мои макрокоманды
zenon
 
Остекляем!!! Алюминим!!!
 
Москва
Регистрация: 21.02.2005
Сообщений: 3,825

Предлагаю в данной теме выкладывать используемые макрокоманды.
Выкладывать прошу с описанием, что данная макрокоманда выполняет и как. Если можно, то и рисунки к кнопкам соотвественно.

Выкладываю 4 своих макрокоманды.

Улучшенная команда _Break, разрыв в одной точке с повтором по правой клавише мышки.
Цитата:
^C^C^P(defun c:break2 () (vl-cmdf "_break" pause "f" pause "@")(princ));break2;
ps. Макрокоманда не моя. Рисунок со старой кнопки.


Объект Xline строится горизонтально
Цитата:
^C^C_xline;_h;
Объект Xline строится вертикально
Цитата:
^C^C_xline;_v;

Объект Xline строится по объекту (не работает по примитивам блока и arx объектов сторонних навесок на автокад).
Цитата:
*^C^C_xline;_offset;_Through;_nea;\_none;@;;
Макрокоманда зациклена, выход по Esc.
ps. Макрокоманда не моя.


Объект Xline строится по объекту, с поворотом в указанной точке на 90 градусов (не работает по примитивам блока и arx объектов сторонних навесок на автокад)
Цитата:
^C^C_xline;_offset;_Through;_nea;\_none;@;^C^C_rotate;_last;;\90;
ps. Макрокоманда доработана из предыдущей.

Соотвественно и кнопочки
Button.rar

__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
Просмотров: 448760
 
Непрочитано 09.10.2009, 11:37
#261
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Toggle all layers off except current layer
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 09.10.2009, 19:57
#262
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


VVA, а мне дайте совет по масштабам и макросам
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 09.10.2009, 21:35
#263
Малёха

Инженер-геодезист
 
Регистрация: 16.09.2009
Архангельск
Сообщений: 49


Pilot, спасибо большое!!!
Малёха вне форума  
 
Непрочитано 16.10.2009, 11:21
#264
РВН


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


Цитата:
Сообщение от Log_in Посмотреть сообщение
Вот буквально неделю назад (к своему стыду) начал читать книжку В. Свет "Язык макрокоманд..." и хочу выразить автору огромную благодарность (думаю выражение благодарности не будет оффтопом).

Применительно к себе пока сделал одну кнопку, но зато пользуюсь ей по 100 раз на дню: проверка ошибок, очистка чертежа только от неиспользуемых блоков с последующим сохранением.

^C^C_audit;_y;_-purge;_blocks;;_n;_qsave;
Хочу тоже научиться программировать в КАДе, не подскажите где взять литературу типа В. Свет "Язык макрокоманд..."
РВН вне форума  
 
Непрочитано 16.10.2009, 12:54
#265
Кулик Алексей aka kpblc
Moderator

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


Именно эта литература есть в Download
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.10.2009, 13:21
#266
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Все же получилось как желалось.

Код:
[Выделить все]
^C^C_rectang;\'_cal;p1=@;\_cal;p2=@;_erase;_last;;_section;'_cal;p1;'_cal;p2;\\\yz;\_extrude;'_cal;p2;'_cal;p1;\\;0.0001;_union;'_cal;p2;'_cal;p1;\\;_ucs;_y;;_copybase;@;_last;;_ucs;_p;_multicentroid2;_last;;;_ucs;_o;@;_erase;_last;;_massprop;_last;;^C^C_undo;;^C^C_undo;;^C^C_undo;;^C^C_undo;;


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

Для работы макроса должен быть Лисп multicentroid2/

Код:
Код:
[Выделить все]
(defun c:multicentroid2 (/ centroid delta ents firstpoint firstpointmass length1 length12 mass secondpoint secondpointmass
       osmode aa1)
(vl-load-com)
  (defun centroid (entity /)
    (vlax-safearray->list (vlax-variant-value (vla-get-centroid (vlax-ename->vla-object entity))))
    ) ;_ end of defun
  (defun mass (entity /)
    (vla-get-volume (vlax-ename->vla-object entity))
    ) ;_ end of defun
  (if (setq ents (ssget '((0 . "3DSOLID"))))
    (progn
      (setq ents (vl-remove-if-not 'atom (mapcar 'cadr (ssnamex ents))))
      (setq firstpoint (centroid (car ents)))
      (setq firstpointmass (mass (car ents)))
      (if (setq ents (cdr ents))
  (progn
    (foreach n ents
      (setq secondpoint (centroid n))
      (setq secondpointmass (mass n))
      (setq length12 (sqrt (apply '+ (mapcar '(lambda (x) (* x x)) (mapcar '- firstpoint secondpoint)))))
      (setq length1 (/ (* secondpointmass length12) (+ firstpointmass secondpointmass)))

(if (and (= length1 length12)(= length1 0))(setq length12 1))

      (setq delta (mapcar '(lambda (x) (/ (* length1 x) length12)) (mapcar '- firstpoint secondpoint)))
      (setq firstpoint (mapcar '- firstpoint delta))
      (setq firstpointmass (+ firstpointmass secondpointmass))
      ) ;_ end of foreach
    ) ;_ end of progn
  ) ;_ end of if

(setq osmode (getvar "osmode")
      firstpoint (trans firstpoint 0 1))

(vla-startundomark (vla-get-activedocument (vlax-get-acad-object)))
(setvar "cmdecho" 0)
(setvar "osmode" 0)

(command "_.circle" firstpoint 20 ;Радиус сферы по умолчанию
   "_.erase" (entlast) "")
(vl-cmdf "_.circle" firstpoint)

(setvar "osmode" osmode)
(princ "\nРадиус сферы в центре масс <20>: ")
(if (vl-cmdf pause)(progn

(setq aa1 (cdr (assoc 40 (entget (entlast)))))
(setvar "osmode" 0)
(command "_.erase" (entlast) ""
   "_.sphere" firstpoint aa1
    ;Цвет сферы (или удалить строку)
   )
(setvar "osmode" osmode)
))

(setvar "cmdecho" 1)
(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
      (princ)
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of defun[/quote]
Jonas вне форума  
 
Непрочитано 02.11.2009, 18:49
#267
proekt_mep

(ГС, ТМ, ОВ)
 
Регистрация: 14.03.2008
Харьков
Сообщений: 101


Уважаемые гуру!
У меня есть акадовский файл (библиотека арматуры) с элементами схем (арматура и пр.). Хочу сделать так, чтобы работая в одном файле можно было нажав "волшебную кнопочку" открыть ту самую библиотеку арматуры. Пытаюсь сделать это след образом: в CUI создаю новую кнопку и пишу для нее макрос -
^C^Cfiledia;0;_open;L:/архив/Шаблон.dwg;

Ничего не получается: в командной строке отображается -

Команда: filedia
Новое значение FILEDIA <0>: 0
Команда: _open
Команда: L:/архив/Шаблон.dwg
Неизвестная команда "L:/АРХИВ/ШАБЛОН.DWG". Для вызова справки
нажмите F1.

Мож кто-нибудь сталкивался с подобной задачкой и нашел ее решени?
proekt_mep вне форума  
 
Непрочитано 02.11.2009, 19:27
#268
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,143


proekt_mep, пробуй на кнопке сделать это только свой путь укажи....
Код:
[Выделить все]
(vl-load-com) (vla-open (vla-get-documents  (vlax-get-acad-object))(findfile "C:/Program Files/OD/Dinbloki.dwg"))
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 03.11.2009, 13:19
#269
proekt_mep

(ГС, ТМ, ОВ)
 
Регистрация: 14.03.2008
Харьков
Сообщений: 101


dextron3, спасибо! Получилось!
если не сложно расшифруй что там написано и на каком языке. Еще раз спасибо.
proekt_mep вне форума  
 
Непрочитано 17.11.2009, 11:44
#270
Aazizv

конструктор
 
Регистрация: 13.03.2009
Беларусь
Сообщений: 15


Уважаемые знатоки Автокада,подскажите пожалуйста, можно ли в автокаде построить дугу по хорде и длине дуги? Спасибо всем ответившим.

Последний раз редактировалось Aazizv, 17.11.2009 в 13:50.
Aazizv вне форума  
 
Непрочитано 17.11.2009, 14:13
#271
Кулик Алексей aka kpblc
Moderator

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


Aazizv, а ты это смотрел?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.11.2009, 15:37
#272
Aazizv

конструктор
 
Регистрация: 13.03.2009
Беларусь
Сообщений: 15


"Или в автокаде:
Рисуй дугу по трём точкам и подгоняй её потихоньку к нужной длине, смотря в окно свойств, как только подгонишь - смотри радиус"
Этот способ и использовался.
Хотелось бы узнать более красивый способ-если конечно он есть.
Aazizv вне форума  
 
Непрочитано 25.11.2009, 18:46
#273
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


>> Aazizv : внимательно читай опции в к.с. - там все есть
>> proekt_mep : А, на фига тогда палитры инструментов нужны...
gomer вне форума  
 
Непрочитано 12.01.2010, 15:59
#274
Sanya1310

Проектировщик
 
Регистрация: 03.04.2008
Питер
Сообщений: 48
<phrase 1=


Помогите пожалуйста разобраться с простым макросом:
(переносит выбранные объекты на заданный слой lt001)
^C^C_-layer;_set;lt001;;_laycur;
С линиями работает нормально, вот только почему-то при такой операции с размерами они не меняют цвет по слою.
версия ACAD 2008.
__________________
Sanya
Sanya1310 вне форума  
 
Непрочитано 12.01.2010, 16:03
#275
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


А если настроить элементы размерного стиля "ПоСлою", а не "ПоБлоку"?
Profan вне форума  
 
Непрочитано 12.01.2010, 16:12
#276
Sanya1310

Проектировщик
 
Регистрация: 03.04.2008
Питер
Сообщений: 48
<phrase 1=


так и настроено. и в свойствах так отображается. вот только не меняется отображаемый цвет размера.

да, притом если "потаскать" размер за ручки, цвет становится как надо.
regen и redrawall испробованы, не помогают.
__________________
Sanya

Последний раз редактировалось Sanya1310, 12.01.2010 в 16:18.
Sanya1310 вне форума  
 
Непрочитано 12.01.2010, 16:12
#277
Буджум

мелкий местный хищник
 
Регистрация: 20.10.2009
замкадье
Сообщений: 72


С "поблоком" тоже должно работать. Скорее всего в текущем разм. стиле конкретный цвет задан. Вот он и не меняется
Апаздал, однако
Глупость спрошу. А почему у тебя в панели свойств слой wc004, а не lt001?

Последний раз редактировалось Буджум, 12.01.2010 в 16:18.
Буджум вне форума  
 
Непрочитано 12.01.2010, 16:20
#278
Sanya1310

Проектировщик
 
Регистрация: 03.04.2008
Питер
Сообщений: 48
<phrase 1=


название слоя в макросе - для примера.
на самом деле wc004
__________________
Sanya
Sanya1310 вне форума  
 
Непрочитано 12.01.2010, 16:25
#279
Буджум

мелкий местный хищник
 
Регистрация: 20.10.2009
замкадье
Сообщений: 72


Тады ой. Твой макрос с моим поблоком замечательно подружился. Только-что проверил
Буджум вне форума  
 
Непрочитано 17.01.2010, 18:33
#280
faeto1982


 
Регистрация: 30.03.2009
Сообщений: 53
Отправить сообщение для faeto1982 с помощью Skype™


нужен лисп, который запускал бы именованный фильтр.
(имя фильтра прописывается в теле лиспа.)
но при этом чтобы не появлялась форма "фильтры выбора объектов"
p.s. в лиспе полный ноль.
faeto1982 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Мои макрокоманды

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои динамические блоки Shoorup Динамические блоки 2713 21.04.2011 23:34
Повторение выполнения макрокоманды по циклу. КАК? Kostinok AutoCAD 12 05.12.2007 15:40
Мои проекты Vova Разное 10 08.10.2007 23:18
Мои палитры инструментов на соседний компьютер Pave1 AutoCAD 4 27.06.2006 09:45