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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Auto Lisp. Помогите с легкой программой.

Auto Lisp. Помогите с легкой программой.

Ответ
Поиск в этой теме
Непрочитано 26.09.2007, 20:33 #1
Auto Lisp. Помогите с легкой программой.
BARS_1985
 
construktor
 
moscow
Регистрация: 26.09.2007
Сообщений: 24

Программа для начертания отрезков. Непонятно почему неправильно чертится линия к точке v3. Запрос на координату (!v3) показывает ту которая должна быть, а при начертании ((command "line" p1 v1 v2 v3...) координата не верна. Совершенно непонятная ситуация. Дважды при обработке программы в коммандной строке такой текст: Specify next point or [Close/Undo]: Zero length line created at (1174.0278,
678.8539, 0.0000)... Что это значит? Помогите пожалуйста!!! Файл программы прикреплен. Сама программа написана внизу. В чем моя ошибка или проблема с Лиспом :-(

(defun C:filq ()
(setq

Lq 300
Bq 100
Hq 310

Tk 3
Tk2 (* Tk 2)

L (+ Lq Tk2)
B (+ Bq Tk2)
H (+ Hq Tk2)

k1 (/ B 4)
k2 (/ B 2)

a90 (* 90 (/ pi 180))
a270 (* 270 (/ pi 180))

p1 (getpoint "íà÷àëî-")
p2 (polar p1 0 k1)
p3 (polar p2 0 B)
p4 (polar p3 0 L)
p5 (polar p4 0 B)
p6 (polar p5 0 (- L Tk))
u1 (polar p1 a90 (/ H 2))
v1 (polar u1 a270 10)
v2 (polar u1 0 k1)
v3 (polar v2 a90 k2)
v4 (polar v3 0 (- B Tk))
v5 (polar v4 a270 (- k2 Tk))
v6 (polar v2 0 B)
v8 (polar v4 0 Tk2)
)
(command "line" p1 v1 v2 v3 v4 v5 v6 v7 v8 "")
(command)
)
[ATTACH]1190824430.rar[/ATTACH]
Просмотров: 2308
 
Непрочитано 26.09.2007, 20:37
#2
Profan


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


Код не проверял, но попробуйте отключить объектные привязки.
Profan вне форума  
 
Автор темы   Непрочитано 26.09.2007, 20:43
#3
BARS_1985

construktor
 
Регистрация: 26.09.2007
moscow
Сообщений: 24


Цитата:
Сообщение от Profan
Код не проверял, но попробуйте отключить объектные привязки.
точно!!! помню как то была такая же проблема.. давао это было, вот и позабыл!! спасибо большущее !!!
BARS_1985 вне форума  
 
Автор темы   Непрочитано 26.09.2007, 20:45
#4
BARS_1985

construktor
 
Регистрация: 26.09.2007
moscow
Сообщений: 24


А можно ли программно изменить слой, так же назначив его цвет и затем еще измерить длину линий!
BARS_1985 вне форума  
 
Непрочитано 26.09.2007, 20:56
#5
Profan


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


Можно.
Вот здесь полно примеров программ:
http://www.autocad.ru/cgi-bin/f1/board.cgi?p=44
Profan вне форума  
 
Автор темы   Непрочитано 26.09.2007, 21:14
#6
BARS_1985

construktor
 
Регистрация: 26.09.2007
moscow
Сообщений: 24


спасибо большое!
BARS_1985 вне форума  
 
Непрочитано 27.09.2007, 11:10
#7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
А можно ли программно изменить слой, так же назначив его цвет и затем еще измерить длину линий!
Код:
[Выделить все]
(defun C:filq ( / clay) 
(setq 
Lq 300 
Bq 100 
Hq 310 

Tk 3 
Tk2 (* Tk 2) 

L (+ Lq Tk2) 
B (+ Bq Tk2) 
H (+ Hq Tk2) 

k1 (/ B 4) 
k2 (/ B 2) 

a90 (* 90 (/ pi 180)) 
a270 (* 270 (/ pi 180)) 

p1 (getpoint "\nТочка: ") 
p2 (polar p1 0 k1) 
p3 (polar p2 0 B) 
p4 (polar p3 0 L) 
p5 (polar p4 0 B) 
p6 (polar p5 0 (- L Tk)) 
u1 (polar p1 a90 (/ H 2)) 
v1 (polar u1 a270 10) 
v2 (polar u1 0 k1) 
v3 (polar v2 a90 k2) 
v4 (polar v3 0 (- B Tk)) 
v5 (polar v4 a270 (- k2 Tk)) 
v6 (polar v2 0 B) 
v8 (polar v4 0 Tk2) 
)
;;;Задаем слой
(setq clay (getvar "CLAYER")) ;_Запоминаем слой  
(command "_Layer" "_Make"
         "Новое_Имя_Слоя" ;_Твое имя слоя
         "_Color"
         1  ;_Задать цвет слоя
         ""
         ""
         )
(command "_pline" "_none" p1 "_none" v1 "_none" v2 "_none" v3 "_none" v4 "_none" v5 "_none" v6 "_none" v8 "") 
(command)
(setvar "CLAYER" clay)
(princ)  
)
Как-то так со слоями.
По поводу длинны линии:
1. Можно посмотреть в окне свойств, т.к. теперь это полилиния
2. Более конкретная подборка по ссылке Profan'a
http://www.autocad.ru/cgi-bin/f1/board.cgi?t=36070MH
http://www.autocad.ru/cgi-bin/f1/board.cgi?t=38388nX
http://www.autocad.ru/cgi-bin/f1/board.cgi?t=20211Ym
И самое главное, не понятно как она работала, т.к. точка v7 нигде не считается, но в command'e учавствует
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Auto Lisp. Помогите с легкой программой.

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

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