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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Дополнительные команды для Аннотативных масштабов. Удаление лишних масштабов, копирование масштабов между объектами и т.п.

Дополнительные команды для Аннотативных масштабов. Удаление лишних масштабов, копирование масштабов между объектами и т.п.

Ответ
Поиск в этой теме
Непрочитано 01.02.2008, 22:12 1 |
Дополнительные команды для Аннотативных масштабов. Удаление лишних масштабов, копирование масштабов между объектами и т.п.
Red Nova
 
ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Торонто
Регистрация: 23.10.2007
Сообщений: 1,980

В первом сообщении выкладываю всю главную информацию. Прикрепляю последнюю версию кода и иконки для команд.

Kr_DeleteAllObjectScale - удаляет все аннотативные масштабы примитивов и добавляет им текущий масштаб рабочего пространства.



RN_MatchAnntScale - Копируем аннотативный масштаб (масштабы) с одного объекта на другой (другие).
По сути это Match Properties, но только для аннотативных масштабов.



RN_SetAnntScaleFromObj - Выбираем примитив и его аннотативный масштаб назначается текущим масштабом рабочего пространства.
(Предполагается что мы держим только один аннотативный масштаб у примитива. Если масштабов несколько берется за основу первый из списка)


____________________________________________________________________________________________________________________
Еще очень давно, когда только появились аннотативные масштабы, я не перешел на них из за ограниченного на мой взгляд функционала. В некотором роде схожие масштабы имелись в СПДС. Естественно было и много отличий, но основная суть была одинакова.
Мне казалось очень нелогичным что в акаде не было предусмотрено функции для быстрого изменения аннотативного масштаба. Если нужно было поменять масштаб у всех элементов в одном узле, то предполагалось залезать к ним в свойства, открыть таблицу с масштабами, добавить новый и удалить старый. Еще ничего если скажем нужно было поменять масштаб только для размеров, их можно выбрать все вместе и залезть к ним в общую таблицу масштабов через свойства. Но если аннотативных объектов есть несколько видов, то нужно было выбирать каждую дисциплину отдельно, и залезать по очереди к ним в свойства.... Короче очень и очень непродуманно. Данную идею реализовал и выложил на этой ветке Krieger. Так уж вышло что я только спустя годы начал пользоваться аннотативными масштабами (когда остался без СПДС). Сейчас я считаю что аннотативные мастабы даже удобнее чем масштабы СПДС. Ведь аннотативности поддается куда больше объектов (штриховки, блоки и т.п.). Со временем и с помощью более продвинутых форумчан я добавил и новые команды (RN_MatchAnntScale и RN_SetAnntScaleFromObj).
____________________________________________________________________________________________________________________
Исходный текст сообщения.
Уважаемые коллеги. Немного в качестве предисловия. Сам я пользуюсь СПДС, глюки некоторые конечно нервируют, но в основном заметно облегчает работу конструктора. Кто хоть раз видел, знает, как удобно устроены в СПДС выноски, разрезы, сварные швы и т.п. Но все это в принципе и в самом Автокаде можно сделать при помощи динамических блоков или типов линий. Что до недавнего времени было лично для меня главным преимуществом СПДС – это способность без проблем изменять масштабы символов, что очень помогает, когда чертишь все 1:1 (как я и делаю). “До недавнего времени”, поскольку установив 2008-й Автокад и увидев аннотативность, я было подумал что вот наконец и Autodesk додумался. Но рано радовался. Уж больно перемудрили, на мой взгляд, с аннотативностью. Чтобы поменять, к примеру, масштаб размера, приходится зайти к нему в свойства, добавить нужный масштаб (если не хочешь чтоб лишние масштабы глаза мозолили, то старый надо стирать) потом выделить обьект, поменять масштаб. Долго и нудно. В СПДС все гораздо быстрее. Выделил объект поменял масштаб. Все.
Неужели я прав и нельзя облегчить переход из одного масштаба в другой используя аннотативность.

Разделю мешающие мне факторы по пунктам.
1.Лишняя информация на экране. Когда у объекта в свойствах много масштабов это действует на нервы. Выделяешь объект и все возможные размеры видны. По-моему это лишнее.
2.Надо лезть в свойства. Возьмем к примеру размеры. В параметрах стиля нельзя задать нужные масштабы. Для этого нужно отдельно выбирать объект и править свойства. Есть вариант add current scale, но тоже не самый удобный вариант.
В идеале я представляю изменение масштаба так. Выделил объект, поменял его масштаб и все.
Возможно ли подчинить такому методу работы аннотативность? Может есть какой то вариант настройки или макрос позволяющий подправить настройки. Работать макрос мог бы так. Выбираешь объект, меняешь масштаб, при этом предыдущий масштабный коэффициент стирается из памяти объекта, и добавляется текущий. Таким образом можно было избежать ненужной возни.

Изображения
 

Вложения
Тип файла: rar Annotative tools icons.rar (16.7 Кб, 199 просмотров)
Тип файла: lsp Annotative Tools.lsp (6.9 Кб, 309 просмотров)


Последний раз редактировалось Кулик Алексей aka kpblc, 28.11.2016 в 09:02.
Просмотров: 42862
 
Непрочитано 18.03.2009, 14:12
#21
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,535
<phrase 1= Отправить сообщение для wetr с помощью Skype™


hiddenevi1, почитай
здесь
после поста № 15
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 18.03.2009, 17:50
#22
hiddenevi1

Инженерные сети
 
Регистрация: 03.12.2008
Сообщений: 43


2wetr, большое спасибо.
scalelistedit помогло.
hiddenevi1 вне форума  
 
Непрочитано 04.12.2011, 00:29
#23
omsksn


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


А как поменять масштаб на чертеже у всех выделенных элемнтов сразу. У линий, у блоков, размеров и д. Чтобы не выдивять все блоки и менять у них в свойствах масштаб по Х У Z, чтобы не выделять размеры и не менять в свойствах глоб-ый мас-б и так для всех.
Какую каманду нужно ввести? Р.S на голом АКАДЕ
omsksn вне форума  
 
Непрочитано 04.12.2011, 09:20
#24
Krieger

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


omsksn, никак. Переходи на аннотации, полегче будет.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 05.12.2011, 18:49
#25
omsksn


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


А как вставить блок в текщем масштабе.
Написал команду DIMSCALE <100> образмерил деталь. Когда дошло дело для выносок жму кнопку с макросом ^C^C^P_-insert;D:/Дистрибутивы/AutoCAD2011/Палитры/Выноски/Выноска;\\;0;_explode;_last; и всавляется выноска (динамический блок) с запросом масштаба. Что нужно дописать в макросе чтобы выноска вставляласть в текущем масштабе.
^C^C^P_-insert;D:/Дистрибутивы/AutoCAD2011/Палитры/Выноски/Выноска;\чего суда написать;0;_explode;_last;.
omsksn вне форума  
 
Непрочитано 05.12.2011, 19:20
#26
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,327


omsksn, создаёшь в пространстве листа видовой экран с нужным масштабом. Панорамируешь его. Выполняешь команду _chspace. Всё выделенное в видовом экране перемещается в пространство листа. Задаёшь видовому экрану маснтаб 1:1 и применяешь команду _chspace ко всем перемещённым объектам....
Хмурый вне форума  
 
Непрочитано 05.12.2011, 20:38
#27
omsksn


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


Хмурый, спасибо за варинт. Но в моей конторе так ни кто не чертит(. А в моей конторе система! Итак приходится от СПДСа отказываться, так как он не у всех стоит и мои фалы не удобны для них (приходится делать динам.блоки для замены СПДСа). Так что буду мудрить с макросами
omsksn вне форума  
 
Непрочитано 04.05.2015, 15:25
#28
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Знающие лисп, подскажите, а код уважаемого Krieger из 9 сообщения для добавления текущего масштаба аннотаций и удаления всех остальных из выбранных объектов, актуален для AutoCAD 2015? Нет в нем подводных камней? Может его можно как-то улучшить? например обработчик ошибок добавить. Или есть более "современный" лисп, или штатная команда.

Стандартная команда OBJECTSCALE, не устраивает, потому что, не добавляет оставленный масштаб, в диалоге списка масштабов, в выбранные объекты, у которых его не было.

Заранее спасибо
Vildar вне форума  
 
Непрочитано 04.05.2015, 16:10
#29
Jonas

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


Цитата:
Сообщение от Red Nova Посмотреть сообщение
Аннотативность. Как быстро поменять масштаб объекта?
Честно ни фига не понял. Наверно потому что не владею и соответственно не пользуюсь СПДС.
При создании (оформлении) чертежа, подбираю подходящий для чертежа масштаб аннотаций (сам чертеж конечно 1:1), проставляю размеры, выноски и тд. и всё, зачем после менять масштаб аннотаций для данного чертежа?
__________________
Из честолюбия или чувства долга не может родиться ни чего ценного. А. Эйнштейн
Jonas вне форума  
 
Непрочитано 04.05.2015, 16:20
#30
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Цитата:
Сообщение от Jonas Посмотреть сообщение
При создании (оформлении) чертежа, подбираю подходящий для чертежа масштаб аннотаций (сам чертеж конечно 1:1), проставляю размеры, выноски и тд. и всё, зачем после менять масштаб аннотаций для данного чертежа?
Все правильно.
Но, бывает, что список аннотативных масштабов у объектов разный, а нужен один.
Разные масштабы аннотаций могут появиться у объектов в процессе работы, например:
- подумал поменять масштаб узла, например, потом прикинул и еще раз поменял)
- скопировал часть из другого чертежа, а там был другой масштаб
Vildar вне форума  
 
Непрочитано 04.05.2015, 16:49
#31
Krieger

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


Цитата:
Сообщение от Vildar Посмотреть сообщение
Знающие лисп, подскажите, а код уважаемого Krieger из 9 сообщения для добавления текущего масштаба аннотаций и удаления всех остальных из выбранных объектов, актуален для AutoCAD 2015? Нет в нем подводных камней? Может его можно как-то улучшить? например обработчик ошибок добавить. Или есть более "современный" лисп, или штатная команда.

Стандартная команда OBJECTSCALE, не устраивает, потому что, не добавляет оставленный масштаб, в диалоге списка масштабов, в выбранные объекты, у которых его не было.

Заранее спасибо
В AutoCAD 2015, она работает. Вроде никаких проблем не замечено.
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 15.05.2015, 23:34
#32
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Добавил отмену (undo) - отмены изменений масштаба для всех объектов.

Код для отмен скопировал у kpblc. Ничего не напутал? Проверил, работает.

Код:
[Выделить все]
 
(defun Kr_DeleteAllObjectScale ( / ss pr cmd adoc)
  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of vla-startundomark
	;;; Метка верхнего уровня, начало
  (if (setq ss (ssget))
    (progn
      (setq cmd (getvar "CMDECHO"))
      (setvar "CMDECHO" 0)
      (vl-cmdf "-objectscale" ss "" "_Add" (getvar "CANNOSCALE") "")
      (command)
	  (foreach pr (dictsearch (namedobjdict) "acad_scalelist")
	    (if (and (= (car pr) 350)
	             (not (eq (getvar "CANNOSCALE") (cdr (assoc 300 (entget (cdr pr))))))
		     )
	      (vl-cmdf "-objectscale" ss "" "_Delete" (cdr (assoc 300 (entget (cdr pr)))))
	    );if
	    (command)
	    (princ)
	    );foreach
      (setvar "CMDECHO" cmd)
      );progn
    );if
  (vla-endundomark adoc) ;; Метка верхнего уровня, конец
  (princ)
);defun
Vildar вне форума  
 
Автор темы   Непрочитано 31.08.2016, 05:55
#33
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Таки перешел на аннотативность через много лет, ведь за бугром СПДС-а нет, ... ))).
В общем - всем доволен. Сейчас нахожу аннотативность даже удобней масштабов от СПДС. Странно что за столько лет они так и не ввели аналога функции от Krieger.
Обнаружил, что данная функция имеет еще одно крайне важное применение. Если в неаннотативном блоке имеем аннотативный атрибут, то при вставке в чертеж такой атрибут подхватывает текущий масштаб. Однако попробуйте затем поменять масштаб такого аттрибута стандартными методами акада, и ничего внятного не найдете (сам-то блок неаннотативный и в свойствах у него нет возможности добавить масштаб). Kr_DeleteAllObjectScale решает и эту проблему. Повесил данную функцию на отдельную кнопку и постоянно пользуюсь.
Red Nova вне форума  
 
Непрочитано 31.08.2016, 08:16
#34
Кулик Алексей aka kpblc
Moderator

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


Еще один момент - это аннотативность для выносок и мультивыносок. Там, насколько я помню, не все было гладко.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 31.08.2016, 11:00
#35
Tyhig

Оснащение проходки горных выработок, ПОС, нормоконтроль, КР, АР
 
Блог
 
Регистрация: 30.01.2008
Ленинград
Сообщений: 18,627


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Еще один момент - это аннотативность для выносок и мультивыносок. Там, насколько я помню, не все было гладко.
Не знаю, не знаю. Пока тьфу, тьфу гладко с ними.
__________________
"Безвыходных ситуаций не бывает" барон Мюнхаузен
Tyhig вне форума  
 
Автор темы   Непрочитано 31.08.2016, 17:13
#36
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


А есть возможность интегрировать кнопку на Kr_DeleteAllObjectScale по соседству с иконками основных аннотативных инструментов акада?
К слову реактор от Лее Мак туда выводит надпись ЛД+ (attached)
Добавил
Хотя нет, там ведь только настройки расположены. Так что идея корявая...


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Еще один момент - это аннотативность для выносок и мультивыносок. Там, насколько я помню, не все было гладко.
Выноски не использую, но с мультивыносками проблем не имею.
Миниатюры
Нажмите на изображение для увеличения
Название: annotative button location.PNG
Просмотров: 90
Размер:	25.8 Кб
ID:	175460  

Последний раз редактировалось Red Nova, 31.08.2016 в 17:50.
Red Nova вне форума  
 
Автор темы   Непрочитано 06.09.2016, 00:19
#37
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Кстати, для тех кто как и я захочет на кнопку поставить, прикрепляю мои иконки. Для светлой и темной темы соответственно.
Изображения
  
Red Nova вне форума  
 
Непрочитано 06.09.2016, 08:28
#38
Кулик Алексей aka kpblc
Moderator

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


Кстати, в 2017 методология иконок поменялась, насколько я помню.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.09.2016, 08:28
#39
config


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


Red Nova, это просто посмотреть и оценить? Прикрепили бы в *.bmp
config вне форума  
 
Автор темы   Непрочитано 08.09.2016, 04:30
1 | #40
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Кулик Алексей aka kpblc Пока не перешел. Но на сколько понял как раз png и оставили. Правда пока не заморачивался с одновременной поддержкой светлой и темной темы.
config Упрек улыбнул )). У тебя какя версия када? На моих 2015 и 2016 png подгружаются. Правда обнаружил, что png с прозрачностью на 2016-м отображаются с черным фоном. Учитывая это и твой коммент выкладываю обновленные версии для всех случаев. Прозрачность везде убрал.
Вложения
Тип файла: rar Annotative Object Scale Update dark and light icons.rar (5.5 Кб, 39 просмотров)
Red Nova вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Дополнительные команды для Аннотативных масштабов. Удаление лишних масштабов, копирование масштабов между объектами и т.п.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как задать масштаб и чертить в сантиметрах? ACAD AutoCAD 60 24.12.2011 17:56
Юмор 2007 Огурец Разное 1172 29.12.2007 11:16
Как изменять горизонтальный масштаб, не трогая вертикальный? Grishanovich_din AutoCAD 13 23.07.2007 19:39
Как поменять кнопку по-умолчанию в DCL? Pilot Программирование 7 14.09.2003 04:18