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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Автоматический перенос размеров на слой размеры. Break макро

Автоматический перенос размеров на слой размеры. Break макро

Ответ
Поиск в этой теме
Непрочитано 01.03.2005, 12:58
Автоматический перенос размеров на слой размеры. Break макро
Piton
 
Инженер строитель
 
Москва
Регистрация: 24.02.2005
Сообщений: 396

Подскажите макрос на кнопку чтоб команда break разрывала в двух указанных точках (First point, second break point). ACAD2005
---
Добавлено (спасибо VVA): Рабочие варианты
#25
#190
#272
#273

Последний раз редактировалось Кулик Алексей aka kpblc, 16.11.2012 в 13:42.
Просмотров: 171299
 
Непрочитано 26.02.2010, 10:37
#201
milamu

конструктор
 
Регистрация: 30.04.2009
Красноярск
Сообщений: 53
<phrase 1=


это работает если СПДС установлен, а в голом акаде нет
milamu вне форума  
 
Непрочитано 26.02.2010, 10:42
#202
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


В голом 2006 работает.
Do$ вне форума  
 
Непрочитано 26.02.2010, 10:44
#203
Кулик Алексей aka kpblc
Moderator

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


Это работает в любом AutoCAD независимо ни от чего.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.02.2010, 10:44
#204
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,825
<phrase 1=


milamu, при чем тут СПДС? Палитра инструментов не имеет отношения к СПДС
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Непрочитано 26.02.2010, 10:59
#205
milamu

конструктор
 
Регистрация: 30.04.2009
Красноярск
Сообщений: 53
<phrase 1=


то есть, вы хотите сказать что выбирая команду "размеры" они у меня будут в слое "КМ_размеры", не зависимо от того какой текущий слой стоит?
milamu вне форума  
 
Непрочитано 26.02.2010, 11:01
#206
Profan


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


Да. Запустите команду с палитры, размеры проставятся на заданном слое и после завершения команды установится текущим прежний слой.
Profan вне форума  
 
Непрочитано 26.02.2010, 11:07
#207
Кулик Алексей aka kpblc
Moderator

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


Я (за всех говорить не буду) имел в виду, что:
а) методология создания палитр инструментов "вшита" в AutoCAD
б) если на палитру инструментов поместить, например, команду "_.dimlinear" и соответствующим образом ее настроить, то при вызове этой команды будет выполняться создание / активация слоя.
в) если палитры инструментов не устраивают, то надо подгружать соответствующее расширение - либо бесплатное (как в этой теме), либо платное (например, СПДС GraphiCS / MechaniCS etc)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.02.2010, 11:27
#208
Krieger

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


А установка слоя в СПДС не конфликтует с установкой в палитре? Кто главнее получится?
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 26.02.2010, 11:33
#209
milamu

конструктор
 
Регистрация: 30.04.2009
Красноярск
Сообщений: 53
<phrase 1=


это наверно, если использовать ваши коды, тогда возможно? потому что у меня ничего не выходит, либо я вас не понимаю и делаю не правильно, либо я не так задаю вопрос....
либо я блондинка
milamu вне форума  
 
Непрочитано 05.03.2010, 17:48
#210
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


Подскажите, а как сделать lisp для выделения только размеров из выбираемого мной множества объектов

Что-то типа _filter , в нем Dimension, но БЕЗ ВЫЗОВА диалогового окна, может можно макросом обойтись?
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 05.03.2010, 18:30
#211
andrew_ro

Светопрозрачные конструкции, проектирование
 
Регистрация: 29.07.2008
Сообщений: 47


можно так

(sssetfirst nil (ssget '((0 . "DIMENSION,ARC_DIMENSION,LARGE_RADIAL_DIMENSION"))))
andrew_ro вне форума  
 
Непрочитано 05.03.2010, 19:37
#212
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,187
<phrase 1=


andrew_ro, Ух, как просто, БОЛЬШОЕ СПАСИБО!
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Непрочитано 08.03.2010, 10:51
#213
VVA

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


Цитата:
Сообщение от sasha_lif Посмотреть сообщение
а как сделать lisp для выделения только размеров из выбираемого мной множества объекто
Вариан чуть-чуть покороче
Код:
[Выделить все]
(sssetfirst nil (ssget '((0 . "*DIMENSION")) ))
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 16.05.2010, 12:53
#214
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 722


Цитата:
Сообщение от VVA Посмотреть сообщение
Код:
[Выделить все]
;;; Автор идеи Kenny Ramage, Эдуард, Torino, он же Кочетков Андрей 
;;; Доработка Владимир Азарко (VVA)
;;; Опубликовано http://forum.dwg.ru/showpost.php?p=58664&postcount=25
;;;Автоматический перенос размеров на слой "размеры" 
;;;и заливки на слой "заливка" 
;;;Просто добавь этот файл в автозагрузку 
(vl-load-com) 
(setq *OldLayer* (getvar "CLAYER")) 
(vl-cmdf "_layer" "_make" "Размеры" "_color" 151 "" "") ;_Создаем слой размеры и задаем цвет 151 ... 
(vl-cmdf "_layer" "_make" "Штриховка" "_color" 5 "" "") ;_Создаем слой штриховка и задаем цвет 5 
(vl-cmdf "_layer" "_make" "Текст" "_color" 6 "" "")     ;_Создаем слой текст и задаем цвет 6
(vl-cmdf "_layer" "_make" "Таблицы" "_color" 6 "" "")   ;_Создаем слой таблицы и задаем цвет 6
(vl-cmdf "_layer" "_make" "Выноски" "_color" 6 "" "")   ;_Создаем слой выноски и задаем цвет 6
(setvar "clayer" *OldLayer*) 
(setq *OldLayer* nil) 
;;;;;;По аналогии добавить создание своего слоя 
;;; ... 
;;;;;; 
;;;;;;------------------------------------------------------------- 
(if *vlr-cmd*
  (progn
    (setq *vlr-cmd* nil)
    (vlr-remove-all :vlr-command-reactor)
    ) ;_ end of progn
  ) ;_ end of if
(if (not *vlr-cmd*)
  (setq	*vlr-cmd* (vlr-command-reactor "cmd"
		    '((:vlr-commandwillstart . cmd-start)
		      (:vlr-commandended . cmd-end)
		      (:vlr-commandcancelled . cmd-end)
		      (:vlr-commandfailed . cmd-end)))))
;;;;;;------------------------------------------------------------- 
(defun cmd-start (calling-reactor startcommandInfo / thecommandstart) 
   (setq thecommandstart (nth 0 startcommandInfo))
  (if (null *OldLayer*)(setq *OldLayer* (getvar "CLAYER")))
  (cond 
 ;;;_Реакция на начало команды DIM* (DIMALIGNED DIMLINEAR и все что начинается с DIM)    
    ((wcmatch thecommandstart "DIM*")  ;_Если выполняется команда DIM* 
     (setvar "clayer" "размеры")       ;_Слой размеры должен быть создан выше (vl-cmdf "_layer" ... 
    ) 
 ;;; Конец реакции на DIM*    
    ((wcmatch thecommandstart "*HATCH*") ;_Если выполняется команда *HATCH* 
     (setvar "clayer" "штриховка") 
    ) 
    ((wcmatch thecommandstart "*TEXT") ;_Если выполняется команда *TEXT (TEXT DTEXT) 
     (setvar "clayer" "Текст") 
    )
    ((wcmatch thecommandstart "*TABLE") ;_Если выполняется команда *TABLE
     (setvar "clayer" "Таблицы") 
    )
    ((wcmatch thecommandstart "*LEADER") ;_Если выполняется команда *QLEADER MLEADER
     (setvar "clayer" "Выноски") 
    )
    (t (setq *OldLayer* nil)) ;;_Если не наша команда, чистим список текущих слоев
;;;См http://forum.dwg.ru/showpost.php?p=318806&postcount=139
;;;и http://forum.dwg.ru/showpost.php?p=318806&postcount=143
    )
  (princ)) 
 ;;;------------------------------------------------------------- 
(defun cmd-end (calling-reactor cmd / cmd_name)
(setq cmd_name (strcase (car cmd)))
(if (or
      (wcmatch cmd_name "*HATCH*") ;_Если выполняется команда DIM*
      (wcmatch cmd_name "DIM*")    ;_Если выполняется команда *HATCH*
      (wcmatch cmd_name "*TEXT")   ;_Если выполняется команда *TEXT (TEXT DTEXT)
      (wcmatch cmd_name "*TABLE")   ;_Если выполняется команда ТАБЛИЦА
      (wcmatch cmd_name "*LEADER")   ;_Если выполняется команда *QLEADER или MLEADER
      )
  (progn
    (if *OldLayer* (setvar "clayer" *OldLayer*)) 
    (setq *OldLayer* nil)
    ))
 (princ))
***Добавлено 30.11.2008 Внесены изменения (красным) в соответствии с проблемой, описанной в #139 и решением #143
Не нравится мне чтойто (vlr-remove-all :vlr-command-reactor)
зачем выключать все реакторы? А если там есть реакторы от сторонних производителей, которые тоже делают полезное дело?
А если юзер грузит лисп по 200 раз это его проблемы. Если обезьяна с гранатой проникла на склад взрывчатых веществ то лучше ее пристрелить чем поймать.
mmax вне форума  
 
Непрочитано 16.05.2010, 23:01
#215
МИНЗДРАВ

Oxypropane welder
 
Регистрация: 29.01.2008
Unix
Сообщений: 750


Цитата:
Сообщение от VVA Посмотреть сообщение
;;;Просто добавь этот файл в автозагрузку (vl-load-com)
А в какую автозагрузку надо добавлять? и какой файл? Текстовый, с содержанием цитированного кода?
МИНЗДРАВ вне форума  
 
Непрочитано 16.05.2010, 23:11
#216
grachev.p

конструктор мебели
 
Регистрация: 28.02.2010
г. Гатчина
Сообщений: 27


Цитата:
Сообщение от МИНЗДРАВ Посмотреть сообщение
А в какую автозагрузку надо добавлять? и какой файл? Текстовый, с содержанием цитированного кода?
Сохранить этот текст в файл "имя_файла.lsp"

Команда _appload. От туда либо загружаешь его, либо добавляешь в автозагрузку.
grachev.p вне форума  
 
Непрочитано 17.05.2010, 00:03
#217
Кулик Алексей aka kpblc
Moderator

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


http://dwg.ru/pub/9
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.05.2010, 09:51
#218
VVA

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


Цитата:
Сообщение от mmax Посмотреть сообщение
Не нравится мне чтойто (vlr-remove-all :vlr-command-reactor)
Ну так никто секретов и не делает. Код можно поправить по своему усмотрению
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 20.05.2010, 19:07
#219
2pic


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


Уважаемые, Гуру, подскажите пожалуйста как сделать реактор отслеживающий изменение значения размера при редактировании его средствами СПДС GraphiCS. В частности, если значение размера при редактировании стало отличным от действительного (созданного автокадом и имеющего <>), то он приобретает другой цвет, если значение осталось прежним (пользователь вышел из диалогового окна редактирования размера без внесения изменений, или вернул действительное значение уже окрашенному размеру) цвет возвращается на изначально заданный по сою для размеров. Заранее благодарен за внимание.
2pic вне форума  
 
Непрочитано 20.05.2010, 19:24
#220
МИНЗДРАВ

Oxypropane welder
 
Регистрация: 29.01.2008
Unix
Сообщений: 750


А почему цитированный код, после помещения в автозагрузку, имеет цвет неактивного?
МИНЗДРАВ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Автоматический перенос размеров на слой размеры. Break макро

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

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