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

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

Проясните не сведущему

Ответ
Поиск в этой теме
Непрочитано 22.06.2005, 18:11 #1
Проясните не сведущему
vasilykov
 
Регистрация: 22.06.2005
Сообщений: 2

Добрый вечер, участники форума!

Прошу дать ответ на следующий вопрос.
При выполнении программы изображаются не все графические объекты, описанные в программе.
При повторных запусках часть объектов рисуется, часть нет или отображаются не все объекты. Причём от каждого запуска, картина может меняться. При записи значений переменных в файл всё соответствует задуманному, но на экране отсутствует желаемый результат. С чем это может быть связано? Надеюсь на Вашу помощь!

Заранее благодарю, за ответы.
Просмотров: 3188
 
Непрочитано 22.06.2005, 18:19
#2
Apelsinov

Проектировщик ВК. LISP-любитель.
 
Регистрация: 15.12.2003
Москва
Сообщений: 1,202
<phrase 1=


что за "программа"?
Apelsinov вне форума  
 
Непрочитано 22.06.2005, 19:24
#3
vk

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


Может в конце программы не хватает что то вроде команды _.regenall
vk вне форума  
 
Автор темы   Непрочитано 23.06.2005, 12:36
#4
vasilykov


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


Приветствую участников форума!
Большое спасибо за проявленное участие

Текст программы

(command "regenall")
(setq ff (open "C:\\project\\84x18x6\\lisp\\out.txt" "w"))



;ОБЪЯВЛЕНИЕ ДАННЫХ
;Г а б а р и т ы з д а н и я
(setq L 78000.0 ;Длина[мм]
W 18000.0 ;Ширина[мм]
H 6000.0 ;Высота[мм]
ukl 10.0 ;Уклон[%]
)
;П р о д о л ь н ы й к а р к а с
(setq N_prol_Rama '(2 10 2) ;Кол-во пролётов с одинаковой длиной
L_prol_Rama '(4500.0 6000.0 4500.0) ;Длина пролётов[мм]
)
;К р а й н я я р а м а
;Колонна
(setq N_prol_KF '(4) ;Кол-во пролётов с одинаковой длиной
L_prol_KF '(4500.0) ;Длина пролётов[мм]
N_kol_KF '(1 1 1 1 1) ;Кол-во колонн с одинаковыми параметрами[мм]
L_polka_KF '(199.0 250.0 199.0 250.0 199.0) ;Длина полки[мм]
t_polka_KF '(10.0 14.0 10.0 14.0 10.0) ;Толщина полки[мм]
L_stenka_KF '(178.0 222.0 176.0 222.0 178.0) ;Длина стенки[мм]
t_stenka_KF '(7.0 9.0 6.5 9.0 7.0) ;Толщина стенки[мм]


)
;Ригель
(setq L_stenka_RF 232.0 ;Длина стенки[мм]
t_polka_RF 8.0 ;Толщина стенки[мм]
)

;Р я д о в а я р а м а
;Колонна
(setq N_prol_KR '(2) ;Кол-во пролётов с одинаковой длиной
L_prol_KR '(9000.0) ;Длина пролётов[мм]
N_kol_KR '(1 1 1) ;Кол-во колонн с одинаковыми параметрами[мм]
L_polka_KR '(398.0 199.0 398.0) ;Длина полки[мм]
t_polka_KR '(18.0 10.0 18.0) ;Толщина полки[мм]
L_stenka_KR '(358.0 222.0 358.0) ;Длина стенки[мм]
t_stenka_KR '(11.0 9.0 11.0) ;Толщина стенки


)
;Ригель
(setq L_stenka_RR 468.0 ;Длина стенки[мм]
t_polka_RR 14.0 ;Толщина стенки[мм]
)


(setq cx 0.0
cy 0.0)


;(write-line "\n" ff)
;(princ ff)



(setq ukl (/ ukl 100.0)) ;Уклон в абс ед
(setq ukl1 (atan ukl)) ;Уклон в рад

;Построение ригеля
(command
"line"
(list 0.0 H)
(list 0.0
(+ H (/ (+ L_stenka_RR (* 2.0 t_polka_RR)) (cos ukl1)))
)
(list (/ W 2.0)
(+ H
(* ukl (/ W 2.0))
(/ (+ L_stenka_RR (* 2.0 t_polka_RR)) (cos ukl1))
)
)
(list (/ W 2.0)
(+ H (* ukl (/ W 2.0)))
)
"close"
)


;Построение колонны
(command
"line"
(list 0.0 0.0)
(list 0.0 H)
(list (+ (nth 0 L_stenka_KR) (* 2.0 (nth 0 t_polka_KR)))
(+ H
(* (/ (sin ukl1) (cos ukl1))
(+ (nth 0 L_stenka_KR) (* 2.0 (nth 0 t_polka_KR)))
)
)
)
(list (+ (nth 0 L_stenka_KR) (* 2.0 (nth 0 t_polka_KR)))
0.0
)
"close"
)

(command "regenall")

(close ff)



Результат выполнения в прикреплённом графическом файле.
Моих знаний не достаточно для понимания выдаваемых результатов на экран. Надеюсь на Вашу помощь!
Заранее благодарю, за ответы.
[ATTACH]1119515785.jpg[/ATTACH]
vasilykov вне форума  
 
Непрочитано 23.06.2005, 14:41
#5
vk

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


Первое что бросается в глаза - нет отключения объектной привязки при черчении. Это наиболее распространенный ляп.

Второе. АКАД русифицированый? Если так, то все команды должны начинаться с префикса _. (подчерк и точка), а опции с _ (подчерк). Впрочем, по хорошему это правило всегда должно выполняться. Это еще один распространенный ляп, хотя, вроде как понимает...

Прогу не гонял.
vk вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Проясните не сведущему