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

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

Маштабирование чертежа в одном направлении

Ответ
Поиск в этой теме
Непрочитано 27.05.2004, 09:29 #1
Маштабирование чертежа в одном направлении
Rojik
 
Хабаровск
Регистрация: 26.05.2004
Сообщений: 3

Нужен Лисп для изменения маштаба чертежа только в одном направлении - по оси Х или Y. Очень нужно при построении сечений, разрезов. Подскажите как это сделать? E-mail- [email protected]
Просмотров: 5964
 
Непрочитано 27.05.2004, 11:41 Масштаирование в одном направлении
#2
Джек Воробей


 
Сообщений: n/a


Создай блок, затем при его вставке в диалоговом окне Insert измени в Specify on screen
X=1
Y=1
Z=1
масштаб по нужной тебе оси,например на
X=0.5
Y=1
Z=1
и готово... по оси X в 2раза меньше по Yи Z :wink:
 
 
Непрочитано 27.05.2004, 12:57
#3
maestro

проектировщик
 
Регистрация: 08.05.2004
Украина
Сообщений: 1,123
<phrase 1=


А на фига Лисп? Создать блок--Изменить масштаб по оси Х(У)- взорвать блок.
maestro вне форума  
 
Непрочитано 27.05.2004, 13:47
#4
Baron


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


Цитата:
Сообщение от maestro
А на фига Лисп? Создать блок--Изменить масштаб по оси Х(У)- взорвать блок.
Ну не с каждым блоком, после изменения масштаба повзрываешь......
Baron вне форума  
 
Непрочитано 27.05.2004, 15:42
#5
maestro

проектировщик
 
Регистрация: 08.05.2004
Украина
Сообщений: 1,123
<phrase 1=


Baron.

Ну не с каждым блоком, после изменения масштаба повзрываешь......

Например? у меня пока со всеми.. Кроме того, можно и не эксплодить....
maestro вне форума  
 
Непрочитано 27.05.2004, 16:06
#6
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Цитата:
Сообщение от maestro
Baron.

Ну не с каждым блоком, после изменения масштаба повзрываешь......

Например? у меня пока со всеми.. Кроме того, можно и не эксплодить....
А загоните ка в блок твердое тело, тоесть, 3DSOLID..... И попробуйте взорвать блок после разномастного масштабирования по осям :wink:
Не эксплодить может быть иногда и можно... только 3DSOLID'ы в блоках не видит команда SOLDRAW, например.... Да и как работать то с примитивом, когда он в блоке.... Трудновато, а иногда вобще невозможно
vk вне форума  
 
Непрочитано 27.05.2004, 18:21
#7
AY


 
Сообщений: n/a


Есть у меня такой лисп и даже мануал к нему:

7. Команда "rast" - отсутствующая (в явном виде)
в Autocad команда пропорционально растягивает
выбранные объекты.
Сначала выбираются объекты.
Далее указываются точки.
Первая указываемая точка - базовая.
Вторая задает базовое расстояние.
Третья задает расстояние на которое будут растянуты
выбранные объекты.
Растяжение производится по оси Х, при необходимости
другого направления необходимо изменить направление оси Х.
!!!Если в наборе примитивов писутствуют полилини
то они будут разбиты.

Тоесть все как и предпологали со всем вытекающим.




(DEFUN rast (/ fff t1 t2 t3 dl1 dl2 k-rast el olderror)


(setq olderror *error*)
(setvar "cmdecho" 0)
(vl-cmdf "_.undo" "_begin")

(defun *error* (msg)
(vl-cmdf "_.undo" "_end")
(princ msg)
(princ "\nОшибка, команда прервана...")
(terpri)
(setq *error* olderror)
)

(setq fff (ssget)
t1 (getpoint "\nУажите первую базовую точку: ")
t2 (getpoint t1 "\nУажите вторую базовую точку: ")
t3 (getpoint t1 "\nУажите точку растяжения: ")

dl1 (distance t1 t2)
dl2 (distance t1 t3)

k-rast (/ dl2 dl1)
)

(command "_.-block" "ababababab" t1 fff "")
(command "_.-insert" "ababababab" t1 k-rast 1 0)
(setq el (entlast))
(command "_.EXPLODE" el)
(command "_.PURGE" "_b" "ababababab" "_no")

(vl-cmdf "_.undo" "_end")
(setq *error* olderror)
(princ)
)
(DEFUN C:rast (/)
(rast)
)
 
 
Непрочитано 28.05.2004, 08:52
#8
Baron


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


Цитата:
Сообщение от vk
Цитата:
Сообщение от maestro
Baron.

Ну не с каждым блоком, после изменения масштаба повзрываешь......

Например? у меня пока со всеми.. Кроме того, можно и не эксплодить....
А загоните ка в блок твердое тело, тоесть, 3DSOLID..... И попробуйте взорвать блок после разномастного масштабирования по осям :wink:
:(
Как уже сказал VK и даже если в состав блока входит регион, например...
Baron вне форума  
 
Автор темы   Непрочитано 28.05.2004, 09:14
#9
Rojik


 
Регистрация: 26.05.2004
Хабаровск
Сообщений: 3


AY, Джек Воробей и иже с ними - СЕНКС
Rojik вне форума  
 
Непрочитано 28.05.2004, 16:00
#10
maestro

проектировщик
 
Регистрация: 08.05.2004
Украина
Сообщений: 1,123
<phrase 1=


Rojik

Ух-ха-ха! Не торопись благодарить! Прочитай Лисп-текст:

(command "_.-block" "ababababab" t1 fff "")

Создаем блок

(command "_.-insert" "ababababab" t1 k-rast 1 0)

вставляем с масштабом

(setq el (entlast))
(command "_.EXPLODE" el)

взрываем

(command "_.PURGE" "_b" "ababababab" "_no")

удаляем блок

Классная прога Но я ее руками делаю И никаких новых плюсов по отношению к указанному алгоритму не дает

2 всем критикам данного подхода: Мы вообще-то Акад юзаем для рабочки. Для всех операция и всех примитивов на рбочке данный подход катит. А объемные тела, регины и фэйсы- эт-то, конечно интересно.... Но мало встречается Поэтому я в практике не встречал блоки, к которым это не катит.
maestro вне форума  
 
Непрочитано 28.05.2004, 16:22
#11
Baron


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


Каждому свое.....
Baron вне форума  
 
Непрочитано 28.05.2004, 20:02
#12
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


>Baron
Про регионы - это верно, позабыл о них...
А ведут они себя так же как 3д солиды по простой причине - у них одинаковое происхождение и способ кодирования DXF
vk вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Маштабирование чертежа в одном направлении

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

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