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

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

Макрос маштабирования

Ответ
Поиск в этой теме
Непрочитано 06.12.2007, 16:06 #1
Макрос маштабирования
ALFMario
 
Gomel
Регистрация: 11.10.2007
Сообщений: 68

Просты макросы делал раньше, но добрался до DIESEL, ничего не получаеться...
макрос такой
*^C^C_Scale;\\;\$m=$(/,1,$(Getvar,DIMLFAC))

Что должен делать макрос: масштабировать в соответствии с установленным текущим размерным стилем.
Значение вычисляеться, но не подставляеься в масштаб...
LISP для меня сложно.
Таким же оброзом хочу сделать что бы длина линии так же чертилась в нужном масштабе.

Да мы так ламерски чертим всё в модели увеличивая и уменьшая.
Просмотров: 5823
 
Непрочитано 06.12.2007, 16:11
#2
Кулик Алексей aka kpblc
Moderator

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


http://dwg.ru/f/showthread.php?t=10907 часть ...дцатая.
---
Добавлено: http://www.google.ru/search?q=site:d...L_ruRU250RU250
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 06.12.2007, 17:41
#3
Valery Brelovsky

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


Почему то простое решение от масштабировать чертёж по окончанию его создания не проходит на ум. Надо как то извращаться с калькуляторами логарифмическими линейками.
Берешь любой чертёж в не потребном масштабе делаешь из него блок и масштабируешь так как надо. И работаешь. Тот же XREF соседа можно вставить в нужном масштабе. И пускай он себе чертит в масштабе, а ты комнфортно 1:1 и ни каких проблем. Но если самому хочется так начерти 1:1, а потом масштабируй. Странные люди создают проблемы потом ищут их решение.
Valery Brelovsky вне форума  
 
Автор темы   Непрочитано 07.12.2007, 09:38
#4
ALFMario


 
Регистрация: 11.10.2007
Gomel
Сообщений: 68


Если бы было всё так просто, я работаю тут не один и многие не знают что такое блок и Xref ( я кста тоже не знаю что такое Xref и зачем он нужен) и зачем пространство модели и листа.
Сделал макрос, всё получилось. Теперь буду в VBA заниматься что бы линия чертилась в нужном масштабе
Скока я тут лазил и читал, в основном каждый пытаеться доказаться что он круче всех чертит и правильнее всех.

Последний раз редактировалось ALFMario, 07.12.2007 в 09:41. Причина: Мысль медленно доходит
ALFMario вне форума  
 
Непрочитано 07.12.2007, 09:43
#5
Кулик Алексей aka kpblc
Moderator

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


А если попробовать:
1) все же выполнять черчение в 1:1, а следом менять dimscale?
2) попробовать обосновать фразу "Если бы было всё так просто."?
3) перевести последний пост на более понятный язык?
4) Не каждый "пытаеться доказаться что он круче всех чертит и правильнее всех." Далеко не каждый.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 07.12.2007, 09:43
#6
Profan


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


Цитата:
в основном каждый пытаеться доказаться что он круче всех чертит и правильнее всех
Неправда, есть коллективный опыт.
Profan вне форума  
 
Непрочитано 07.12.2007, 10:07
#7
tokhot

Проектирование
 
Регистрация: 17.11.2004
г. Москва
Сообщений: 328


Цитата:
Сообщение от ALFMario Посмотреть сообщение
Теперь буду в VBA заниматься что бы линия чертилась в нужном масштабе

*^C^C_MODEMACRO;$M=$(getvar,DIMLFAC);_pline;\\;_Lengthen;p;$M=$(*,$(/,1,$(getvar,DIMLFAC)),100);@;;

или

*^C^C_MODEMACRO;$M=$(getvar,DIMLFAC);_pline;\\;_Lengthen;p;$M=$(*,$(/,1,$(getvar,DIMLFAC)),100);@;;_pline;\\;_Lengthen;p;;@;;_pedit;l;j;ALL;;;

Последний раз редактировалось tokhot, 07.12.2007 в 10:43.
tokhot вне форума  
 
Непрочитано 07.12.2007, 10:16
#8
Profan


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


Код:
Зачем пробел?
Profan вне форума  
 
Непрочитано 07.12.2007, 10:25
#9
Кулик Алексей aka kpblc
Moderator

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


Для прикола.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 07.12.2007, 10:40
#10
ALFMario


 
Регистрация: 11.10.2007
Gomel
Сообщений: 68


1 Я не всегда могу чертить в масштабе 1:1 потому что не могу сразу отмасштабировать типы линий и штриховки, начертить так что бы не сливались линии.И еще это все надо скомпановать на лист. Делать это всё в масштабе 1:1 Мне это тяжело.
2 Наша тех поддержка сказала что ЛИСТ нужен только механикам, нам строителям это сложно. У нас нет общих принятых слоёв, не то что в конторе, в нашей бригаде. Смежники чертят полилинии и толщину задают шириной линии, многие не знаю что такое блок, и горячие клавиши, даже просты вещи как текст и размерные линии у всех разные слои. Так что приходитсья все это редактировать руками. А много просто перечертить. Нет никаких общих стандартов кроме высоты текста
3 Я не знаю что такое xREF может что то полезное, буду читать.
Написал макросы которые увеличивают с 100 масштаба в установленный *^C^C_Scale;\\\\$m=$(/,1,$(Getvar,DIMLFAC)); и из установленного в 100 *^C^C_Scale;\\\\$m=$(Getvar,DIMLFAC);
Теперь хочу сделать в VBA что бы длина линии вводимая с клавиатуры сразу умножалась на коэфф масштаба
4 Может далеко не каждый пытаеться доказать что он лучше всех ( погарячился, мне понадобились сутки что бы написать эти 2 макроса), и вместо того что бы дать совет по вопросу мне говорят что я совсем не так черчу в автокаде.

Опыт может и есть, только у нас это происходит так :" о, а что это у тебя за кнопочка такая ???"
ALFMario вне форума  
 
Автор темы   Непрочитано 07.12.2007, 10:43
#11
ALFMario


 
Регистрация: 11.10.2007
Gomel
Сообщений: 68


Новое значение MODEMACRO, или . если нет <"0.2">: 0.2

Команда: _pline

Начальная точка:
Текущая ширина полилинии равна 0.000
Следующая точка или [Дуга/Полуширина/длИна/Отменить/Ширина]: 1000

Следующая точка или [Дуга/Замкнуть/Полуширина/длИна/Отменить/Ширина]:

Команда: _Lengthen

Выберите объект или [ДЕльта/проЦент/Всего/ДИнамика]: p


*Неверный выбор*

Последний раз редактировалось ALFMario, 07.12.2007 в 10:51.
ALFMario вне форума  
 
Непрочитано 07.12.2007, 10:45
#12
tokhot

Проектирование
 
Регистрация: 17.11.2004
г. Москва
Сообщений: 328


Цитата:
Сообщение от Profan Посмотреть сообщение
Код:
Зачем пробел?
Пробела нет...

Проверил зайдя в редактирование поста.

Еще скопировал код и вставил в блокнот - пробела нет.

ЧУДЕСА
tokhot вне форума  
 
Непрочитано 07.12.2007, 10:48
#13
tokhot

Проектирование
 
Регистрация: 17.11.2004
г. Москва
Сообщений: 328


Цитата:
Сообщение от ALFMario Посмотреть сообщение
Теперь хочу сделать в VBA что бы длина линии вводимая с клавиатуры сразу умножалась на коэфф масштаба
Код:
[Выделить все]
*^C^C_MODEMACRO;$M=$(getvar,DIMLFAC);_pline;\\;_Lengthen;p;$M=$(*,$(/,1,$(getvar,DIMLFAC)),100);@;;
tokhot вне форума  
 
Автор темы   Непрочитано 07.12.2007, 10:54
#14
ALFMario


 
Регистрация: 11.10.2007
Gomel
Сообщений: 68


Сорри конечно но чертиться все равно 1:1 ( ACAD2007)
ALFMario вне форума  
 
Непрочитано 07.12.2007, 11:04
#15
tokhot

Проектирование
 
Регистрация: 17.11.2004
г. Москва
Сообщений: 328


Цитата:
Сообщение от ALFMario Посмотреть сообщение
Сорри конечно но чертиться все равно 1:1 ( ACAD2007)
масштаб выставляется DIMLFAC


поставь DIMLFAC 100
запусти код -> введи длину -> получишь линию длиной меньшую в сто крат
образмерь ее -> получишь реальный размер который вводил.

т.е. получится черчение в масштабе.

в левом нижнем углу можно смотреть текущий масштаб
tokhot вне форума  
 
Автор темы   Непрочитано 07.12.2007, 11:09
#16
ALFMario


 
Регистрация: 11.10.2007
Gomel
Сообщений: 68


Дело в том что макрос стопорит именно на изменении длины, он не выбирает то что надо редактировать
Команда: _Lengthen

Выберите объект или [ДЕльта/проЦент/Всего/ДИнамика]: p


*Неверный выбор*
Требуется точка или
Рамка/Последний/Секрамка/БОКС/Линия/РМн-угол/СМн-угол/ДЕльта/проЦент/Всего/ДИнам
ика
ALFMario вне форума  
 
Непрочитано 07.12.2007, 11:14
#17
Profan


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


p должно быть с подчеркиванием _p
Profan вне форума  
 
Непрочитано 07.12.2007, 11:18
#18
tokhot

Проектирование
 
Регистрация: 17.11.2004
г. Москва
Сообщений: 328


Цитата:
Сообщение от ALFMario Посмотреть сообщение
Дело в том что макрос стопорит именно на изменении длины, он не выбирает то что надо редактировать
Команда: _Lengthen

Выберите объект или [ДЕльта/проЦент/Всего/ДИнамика]: p


*Неверный выбор*
Требуется точка или
Рамка/Последний/Секрамка/БОКС/Линия/РМн-угол/СМн-угол/ДЕльта/проЦент/Всего/ДИнам
ика
Так у вас что русский АКАД?

Выберите объект или [ДЕльта/проЦент/Всего/ДИнамика]:

р - это процент

так что замените Р на Ц
tokhot вне форума  
 
Непрочитано 07.12.2007, 11:19
#19
tokhot

Проектирование
 
Регистрация: 17.11.2004
г. Москва
Сообщений: 328


Цитата:
Сообщение от Profan Посмотреть сообщение
p должно быть с подчеркиванием _p
точно
tokhot вне форума  
 
Автор темы   Непрочитано 07.12.2007, 11:20
#20
ALFMario


 
Регистрация: 11.10.2007
Gomel
Сообщений: 68


Теперь всё ок. Огромное спасибо. И всё таки хочеться сделать что нибудь в VBA.
ALFMario вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Макрос маштабирования



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запустить макрос без снятия выделения с объектов? Автон Программирование 15 20.08.2012 16:31
Есть макрос на кнопку на выпадающие меню? dextron3 Программирование 3 29.08.2007 13:26
Не работает макрос изменяющий цвет Джин Программирование 10 21.11.2006 16:53
Печать МАКРОС Piton Программирование 28 21.06.2005 11:55
Макрос, вычерчивающий стрелку Torino Программирование 17 23.09.2003 15:14