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

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

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

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

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

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

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

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


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,411


А если попробовать:
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,411


Для прикола.
__________________
Моя библиотека 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 вне форума  
 
Непрочитано 07.12.2007, 11:23
#21
Кулик Алексей aka kpblc
Moderator

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


Клянусь, больше в этой теме не скажу ни слова. Надоело. Ну честное слово, сколько можно?
Цитата:
Сообщение от ALFMario Посмотреть сообщение
1 Я не всегда могу чертить в масштабе 1:1 потому что не могу сразу отмасштабировать типы линий и штриховки, начертить так что бы не сливались линии.И еще это все надо скомпановать на лист. Делать это всё в масштабе 1:1 Мне это тяжело.
Самый легкий путь в конце концов оказывается самым тяжелым. Для масштабирования отображения типов линий и штриховок есть масштабы отображения. Регулируются системными переменными celtscale и hpscale.
Цитата:
Сообщение от ALFMario Посмотреть сообщение
2 Наша тех поддержка сказала что ЛИСТ нужен только механикам, нам строителям это сложно. У нас нет общих принятых слоёв, не то что в конторе, в нашей бригаде.
Техподдержку такую надо изнасиловать в особо циничной и извращенной форме. Они, похоже, это любят. Лист строителям нужен не меньше чем механикам.
Цитата:
Сообщение от ALFMario Посмотреть сообщение
Смежники чертят полилинии и толщину задают шириной линии, многие не знаю что такое блок, и горячие клавиши, даже просты вещи как текст и размерные линии у всех разные слои.
Прямая дорога в тему "Корпоративные стандарты".
Цитата:
Сообщение от ALFMario Посмотреть сообщение
3 Я не знаю что такое xREF может что то полезное, буду читать.
Внешняя ссылка.
Цитата:
Сообщение от ALFMario Посмотреть сообщение
Написал макросы которые увеличивают с 100 масштаба в установленный *^C^C_Scale;\\\\$m=$(/,1,$(Getvar,DIMLFAC)); и из установленного в 100 *^C^C_Scale;\\\\$m=$(Getvar,DIMLFAC);
А теперь задача: надо выбрать 3 объекта, лежащие "не рядом". Твои действия?
Цитата:
Сообщение от ALFMario Посмотреть сообщение
Теперь хочу сделать в VBA что бы длина линии вводимая с клавиатуры сразу умножалась на коэфф масштаба
Ссылку на тему "Легко и в масштабе" я уже показал.
Цитата:
Сообщение от ALFMario Посмотреть сообщение
4 Может далеко не каждый пытаеться доказать что он лучше всех ( погарячился, мне понадобились сутки что бы написать эти 2 макроса), и вместо того что бы дать совет по вопросу мне говорят что я совсем не так черчу в автокаде.
Потому что лечить надо не симптомы, а болезнь. Пока не поздно и пока она не запущена.
Цитата:
Сообщение от ALFMario Посмотреть сообщение
Опыт может и есть, только у нас это происходит так :" о, а что это у тебя за кнопочка такая ???"
Количество кнопок - это последнее, на что обращается внимание.
Для ради интересу, опять же из темы "Легко и в масштабе": нарисованы 2 отрезка. Один в М1:100, длина "рисования" - 10 000, на чертеже - 100. Второй в М1:25, длина "рисования" - 2 500, на чертеже - 100. Расстояние между ними (на чертеже) - 10 единиц. Сколько оно должно быть "в реале"?
> tokhot: dimlfac вообще-то рекомендуется держать либо 1, либо -1 (для пространства листа). А величину размерного текста регулировать dimscale.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 07.12.2007, 11:37
#22
Profan


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


Да, лучше убиться об стену, чем чертить в масштабе. Однко, эта проблема тоже оказалась "вечной". Почему так? Есть какой-то неочевидный конфликт между пространством модели и пространством бумаги?
Profan вне форума  
 
Непрочитано 07.12.2007, 11:44
#23
Хмурый


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


В размеры экрана деталь не влезает, когда чертить начинаешь. ЯТД
Хмурый вне форума  
 
Автор темы   Непрочитано 07.12.2007, 12:41
#24
ALFMario


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


1 Переменные для меня НЕ новое но мы чертим в модели, поэтому там могут быть различные масштабы на одном листе. Да мы так чертим, и что мне теперь придти и сказать в техподержку что вы все лохи ?
2 Вообще я пробывал чертить в модели и работать дальше в ЛИСТЕ не очень то просто как малюют. Я чесно пробывал.
3 Ну нет у нас корпаративного стандарта, вообще всем пофиг, а я решаю свою проблему.
4 Согласен не лучший способ, но решения проблемы мне подходит. Как частный случай. Кликать в любом случае уже меньше надо.
5 Пока никакой пользы от ссылок я не нашел
6 Я повтарюсь, я решаю свои проблемы а не корпаративные, и не надо меня забрасывать шапками.
7 Под кнопочкой я имел ввиду, что научиться можно только если заметишь кто что и как делает
8 Для интересу если узел в 20 масштабе, так он весь в 20 масштабе.

Я бы с удовольствием чертил по всем правилам, но одному это сложно сделать, остальным на это наплевать.

Последний раз редактировалось ALFMario, 07.12.2007 в 12:46.
ALFMario вне форума  
 
Непрочитано 07.12.2007, 13:14
#25
Profan


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


А вот это не сгодится?
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=28264gr
Profan вне форума  
 
Непрочитано 09.12.2007, 06:37
#26
Vova

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


Все здесь знают, что я здесь один из самых последовательных сторонников пространства листа, так что слушай сюда.
1. Прочитай это http://dwg.ru/f/showthread.php?t=890...paper+space%22, особенно статью в посте 21.
2. Передай статью вашей техЗадержке и пригласи ее сюда, на форум. Здесь все скоро становятся настоящими техПоддержками.
3. Насчет того, что только механикам нужен лист, а не строителям. Ну, насмешил. Большинство механиков из числа выступивших на форуме считают с точностью наоборот. Больше того, оказывается, в МВТУ им Баумана учат чертить в масштабе! (пока никто не опроверг).
4. Из вашей столицы и др. городов здесь есть несколько продвинутых пользователей. Свяжись и встреться с ними.
5. Вашей конторе следует нанять хорошего преподавателя, и не поскупиться. Техподдержку на курсы в первых рядах. Ибо, судя по твоим постам дремучесть у вас вопиющая.
6. Любые попытки спрограммировать масштабирование есть, мммм, вообщем, нехорошее слово.
7. Если ты будешь чертить хорошо, по классике, другие потянутся за тобой
Vova вне форума  
 
Непрочитано 09.12.2007, 08:17
#27
Valery Brelovsky

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


Цитата:
Сообщение от Vova Посмотреть сообщение
3. Насчет того, что только механикам нужен лист, а не строителям. Ну, насмешил. Большинство механиков из числа выступивших на форуме считают с точностью наоборот. Больше того, оказывается, в МВТУ им Баумана учат чертить в масштабе! (пока никто не опроверг).
Ворос черчения в масштабе ни кто не опроверг, но в теме
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=30921sZ
ни кто т не подтвердил эту крамолу.
Да и по вопросу листа также узость. Сам дорожник и всегда использовал пространство листа.
Valery Brelovsky вне форума  
 
Непрочитано 09.12.2007, 17:53
#28
Vova

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


Да, Valery Brelovsky. Меня поражает инфантильность машиностроителей в этом вопросе. Если в их адрес высказывается крамола (мол, вы чертите в масштабе), то, по логике форума, они должны из кожи лезть вон, приводя примеры черчения в 1:1. Дескать, и в моей конторе, и в другой только 1:1. Но этого не происходит. Редкие и лениво что-то отвечают, кто ЗА, кто Против. А между тем, NPPSM из приведенной тобой ссылки имеет свой обучающий сайт и, значит, плодит неумех. (если ты помнишь, именно с этой моей фразы началась та огромная дискуссия)
Vova вне форума  
 
Непрочитано 09.12.2007, 20:03
#29
Кулик Алексей aka kpblc
Moderator

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


Туда же, по поводу NPPSM: http://my.opera.com/kpblc/blog/show.dml/388246
С момента написания "отзыва" на сайт не заходил.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 09.12.2007, 21:25
#30
Valery Brelovsky

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


Vova.
А помните на том форуме был один который не знал Автокада и собирался изучить и преподавать через две недели. Так что не показатель что у него есть обучающий сайт.
Я думаю что при всем этом человек сам поймет что чертить в Автокаде в масштабе это маразм. Да я вспомнил только с Вашей подачи на счет не опроверг этого. Есть форум и кому надо те разберутся. Кому нет что тут делать. Будут писать макросы и Лиспы что бы чертить в масштабе. Не обращая внимание на простые и комфортные функции в Автокаде к этой теме.
Valery Brelovsky вне форума  
 
Непрочитано 09.12.2007, 23:08
#31
Vova

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


Да, собственно, я не об NPPSM и его сайте, а о том, действительно-ли в столь уважаемом вузе (МВТУ) учат масштабировать в автокаде? Неужели нет никого, кто там учился, чтобы подтвердить или опровергнуть? Интересно также, что происходит в других вузах. Я могу сказать об Питерском холодильном. Там долгое время преподает инженерную графику мой давний друг. И недавно я узнал, что теперь и автокад. Естественно, я (по телефону) стал его распрашивать о листе. Но такое впечатление, что мы говорим на разных языках. Он меня не понимал, а я не понимал его возражений за исключением того, что там всего то-ли 2, то-ли так мало преподов, и на них такая нагрузка и такая зарплата, что впору увольнатся, что остальные и сделали.
Vova вне форума  
 
Автор темы   Непрочитано 10.12.2007, 09:48
#32
ALFMario


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


Дорогие люди!
Я понимаю что ЛИСТ это правильно, и чертить надо 1:1, но я хочу решить свою проблему, которую описал в начале поста.
А до нашей техЗадержки я еще дойду
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