|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Программа редактирования положения размеров аналогично стандартной DIMSPACE
Регистрация: 19.08.2009
Сообщений: 19
|
||
Просмотров: 4667
|
|
||||
Регистрация: 19.08.2009
Сообщений: 19
|
zenon спасибо вам большое действительно повторное применение команды расставило как надо (не исповедимы пути програмистов) теперь буду читать внимательнее
но остается вопрос как подружить команду DIMSPACE с Глобальным масштабом размеров(Dimscale) для установки правильного интервала по Авто и чтобы значение Dimscale присваивалось всем размерам относительно исходного. |
|||
![]() |
|
||||
Регистрация: 19.08.2009
Сообщений: 19
|
к сожелению по природе я человек ленивый и хотелось бы чтобы все операции выполнялись по одной кнопке: присвоение всем размерам одинаковых свойств, растановка с учетом глобального масштаба по авто
за команду _matchprop спасибо я с ней знаком |
|||
![]() |
|
||||
Регистрация: 19.08.2009
Сообщений: 19
|
E-degtyarev спасибо что не оставили тему без своего внимания
установил ваш лисп поставил на кнопку ^C^C(if (null C:rr)(load "dimspace_dimscale.lsp"));rr; заработало но есть замечания поправте если не трудно 1. лично для меня Дистанция между размерами величина постоянная и равна 7 аналогично АВТО. можно графически реализовать как у команды dimspace Авто или Ввод Дистанции между размерами, если это сложно то можно в лисп жестко забить размер 7. 2. хотелось бы чтобы после выбора размеров, которые необходимо перенести, им просваивалась величина dimscale равная исходному обьекту т.е. мы обходились бы без команды _matchprop Спасибо Поработал с программой расставил размеры. Ставлю новый размер у него значение dimscale как у размеров,которые расставлял перед этим, а хотелось бы чтобы dimscale=1 был для новых. Потом еще интереснее выполняю команду и получаю Команда: (if (null C:rr)(load "dimspace_dimscale.lsp")) nil Команда: rr Исходный объект: Выберите объекты: Противоположный угол: найдено: 2 Выберите объекты: Дистанция между размерами:11 _.dimspace Выберите исходный размер: Выберите размеры для помещения: найдено: 2 Выберите размеры для помещения: Введите значение или [Авто] <Авто>: 0.000000000000000 Команда: nil и все размеры на одной линии.... стандартная dimspace работает нормально Похоже автокад у меня совсем глючный Последний раз редактировалось tov, 15.09.2009 в 13:29. |
|||
![]() |
|
||||
Помогаю, кому делать нечего. Регистрация: 27.03.2009
Русская деревня
Сообщений: 394
|
Цитата:
Жесткий размер 7 значительно упростит макрос-ввожу поправку пост 8. |
|||
![]() |
|
||||
Регистрация: 19.08.2009
Сообщений: 19
|
E-degtyarev пожалуста давай те разберемся почему у меня не работает правильно
после применение команды Команда: (if (null C:rr)(load "dimspace_dimscale.lsp")) nil Команда: rr Исходный объект: Выберите объекты: найдено: 1 Выберите объекты: _.dimspace Выберите исходный размер: Выберите размеры для помещения: найдено: 1 Выберите размеры для помещения: Введите значение или [Авто] <Авто>: 0.000000000000000 Команда: >>Выберите исходный объект: Текущие активные настройки: Цвет Слой Типлин Лмасштаб Вес линий Толщина Стиль печати Размер Текст Штриховка Полилиния ВЭкран Таблица Материал Отображение тени Мультивыноска >>Выберите целевой объект(ы) или [Настройки]: >>Выберите целевой объект(ы) или [Настройки]: Команда: nil и все размеры на одной линии в соответствии с постом 10 проверил наличие пробела - он отсутствует. почему Введите значение или [Авто] <Авто>: 0.000000000000000 я похоже разобрался создаю новый лист рисую размер в свойствах у него Глобальный масштаб размеров = 1 в командной строке забиваю Команда: _dimscale Новое значение DIMSCALE <0.00>: в настройках размерного стиля Размещение =---> Масштаб размерных элементов =---> и на выбор Аннонативный(не выбран) Масштаб размеров по листу (выбран) Глобальный масштаб(не выбран значение 0 не активен) Вот и нашелся этот 0 Поменял на Глобальный масштаб значение активно =1 но проблемы это не решило пришел к выводу что Глобальный масштаб размеров который показывается в свойствах размера и параметр DIMSCALE задаваемый через командную строку имеют одностороннюю зависимость Глобальный масштаб размеров зависит от DIMSCALE DIMSCALE не зависит от Глобальный масштаба размеров в программе учитывается значение DIMSCALE а нужно Глобальный масштаб размеров но DIMSCALE и Глобальный масштаб размеров это же одно и то же или нет !!!??? имею AutoCAD 2009 Версия C.56.0 (UNICODE) (или он меня имеет???) Последний раз редактировалось tov, 16.09.2009 в 12:16. |
|||
![]() |
|
||||
Помогаю, кому делать нечего. Регистрация: 27.03.2009
Русская деревня
Сообщений: 394
|
У меня в 2008-м ACADe все нормально, т.е. вместо длинной цепочки нулей - значащая цифра. Вероятно в 2009-й версии команда _dimspace несколько переработана, проверить это не могу. Попробуй сам прогнать вручную _dimspace и изучи запросы в ком. строке.
Возможно какая-то ошибка в записи выражения: (* 7 (getvar "dimscale")) А вообще-то "Гуру" сайта не рекомендуют использовать коммандные методы - мороки много. |
|||
![]() |
|
||||
Помогаю, кому делать нечего. Регистрация: 27.03.2009
Русская деревня
Сообщений: 394
|
tov, Этот лисп сделан специально для Вас буквально вчера.
Цель- самообразование. До сих пор я использовал в основном коммандные методы, иногда DXF коды. А эдесь начал врубаться в в vl-vla-vlax. В нашей конторе вопрос автоматической расстановки размеров до сих пор не возникал, вероятно специфика работы несколько другая. Мы эту лиспушку пока не используем. В нее не мешало бы добавить обработчик ошибок на случай, если пользователь выберет объект не являющийся размером. Последний раз редактировалось E-degtyarev, 18.09.2009 в 10:30. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Фундамент с динамическими нагрузками в Scad | Tlelaxu | SCAD | 9 | 31.08.2007 10:44 |
Программы для редактирования размеров? Acad2004. | Павлов Андрей | AutoCAD | 2 | 04.06.2004 16:10 |