|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Почему программа работает неправильно?
Регистрация: 26.08.2011
Сообщений: 20
|
||
Просмотров: 6336
|
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
Цитата:
(car p1) - X; (cadr p1) - Y; (caddr p1) - Z.
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
![]() |
|
||||
Регистрация: 26.08.2011
Сообщений: 20
|
Огромное Спасибо! Дело на самом деле в привязках. Не до конца покка правда разобрался как их временно отключать. Вообще довольно странно что при явном указании координат точки в AutoCAD такой проблемы с привязками не возникает а здесь...
(car p1) - X; (cadr p1) - Y; (caddr p1) - Z Я пробовал изначально результат был тот же. Думал в этом проблема поэтому изменил |
|||
![]() |
|
||||
CAD Регистрация: 28.08.2003
Киев
Сообщений: 1,834
![]() |
Была хорошая тема http://forum.dwg.ru/showthread.php?t...F0%F3%E3%E8%E5 Почитайте...
А с п.36 начните изучение
__________________
По теории майский жук летать не может. Но он этого не знает. И летает... |
|||
![]() |
|
||||
Регистрация: 26.08.2011
Сообщений: 20
|
Ну а вот так почему не работает? В конце запрашивает у меня высоту бокса ???????
(setq p1 (getpoint) p2 (getpoint) ) (setq u1 (list (+ (nth 0 p1) 200.0) (+ (nth 1 p1) 200.0) (+ (nth 2 p1) 200.0)) ) (setq old_osmode (getvar "osmode")) (setvar "osmode" 0) (command "_.box" u1 p2) (setvar "osmode" old_osmode) |
|||
![]() |
|
||||
Регистрация: 26.08.2011
Сообщений: 20
|
Это вопрос. Я вставил отключение привязок
(setq old_osmode (getvar "osmode")) (setvar "osmode" 0) (command "_.box" u1 p2) (setvar "osmode" old_osmode) и программа перестала нормально работать. А если привязки отключить вручную то всё работает. |
|||
![]() |
|
||||
Регистрация: 26.08.2011
Сообщений: 20
|
нет. Если отключена привязка вручную то всё строится нормально указанием двух точек с разными координатами по всем трём осям и всё строится так как надо. А вот когда я попытался на время выполнения отключить привязку програмно бокс не строится.
|
|||
![]() |
|
||||
Регистрация: 06.05.2010
Сургут
Сообщений: 248
|
ты вот так попробуй (command "_.box" u1 p2 p1) и почередуй поученные координаты
у тебя же в u1 одна координата вычисляется просто посчитай сколько раз мышью щелкаешь кода box рисуешь так точно и в встроке должнобыть (command "_.box" u1 p2 p1) может ты куб хочешь посторить то для него необходимо два щелчка +опция команды [куб] Последний раз редактировалось mamuk, 26.08.2011 в 15:51. |
|||
![]() |
|
||||
Регистрация: 26.08.2011
Сообщений: 20
|
Или лыжи не едут или я...
Если я выполняю команду "box" (p1 p2) то строится бокс от точки с координатами p1 до точки с координатами p2 далее я вычасляю координаты новой точки уменьшая значение по всем трём осям на определённую величину. Строю "box" первая точка с координатами p1 а вторая с вычесленными ранее координатами. Всё прекросно работает (ЕСЛИ ЗАРАНЕЕ ОТКЛЮЧИТЬ ОБЪЕКТНУЮ ПРИВЯЗКУ ВРУЧНУЮ!!!) Чтобу не делать этого каждый раз я временно (перед выполнением команды "box") объектную привязку, но бокс не строится а вместо этого запрашевает hight но я же не задаю бокс через wight lenght hight a указываю две точки. Проблема однозначно в коде отключения привязки потому что до отключения привязки вручную и программно была такая же проблема (запрашивал hight) Выключая объектную привязку вручную проблема устраняется а програмно нет. Вот с этим я не могу разобратся. Что то не так с програмным отключением привязки. |
|||
![]() |
|
||||
Регистрация: 06.05.2010
Сургут
Сообщений: 248
|
сейчас проверил с включенными и отключенными привязками
1.(command "_box" p1 p2) срабатывает если одна из точек имеет трехмерные координаты 2. несрабатывает если указаны только координаты где z 0 у первой и второй точки т.к. _box не может иметь нулевой высоты предполагаю! заключение а привязка не влияет на отрисовку _box-a по двум точкам,влияет только трехмерное положение указаных точек хотябы одна z/=0 действительно _box неможет иметь нулевой высоты ервый угол или [Центр]: Другой угол или [Куб/Длина]: Высота или [2Точки] <10.0000>: 0 Значение должно быть ненулевым. скорее всего и OSNAPZ не оказивает влияние т.к. скорее всего отвечает за работу команндых привязок. Последний раз редактировалось mamuk, 26.08.2011 в 16:20. |
|||
![]() |
|
||||
Регистрация: 26.08.2011
Сообщений: 20
|
Это я понял естественно разница между координатами z указывается не нулевая. Проблема в osnapz как ты и сказал mamuk получается что когда я убираю osnap то osnapz устанавливается "1" и вместо коорлинаты по z я получаю координату проекции т.е. "0". Из за этого всё и не работает. Теперь вопрос как сделать чтобы она не устанавливалась "1"
Кстати до выполнения программы osnapz "0" почему она слетает когда запускается программа? Последний раз редактировалось FSergio, 26.08.2011 в 16:26. |
|||
![]() |
|
||||
Регистрация: 06.05.2010
Сургут
Сообщений: 248
|
в начале кода (setvar "osnapz" 0)
или лучше проверять включена или выключена и в зависимости от этого выключать или не выключать. а так же возвращать значение значение до этого ранее установленное (setq a (getvar "osnapz"));здесь в переменную а записываем значение привязки текущее (setvar "osnapz" 0);устанавливаем необходимое значение (здесь рисуем что надо ) (setvar "osnapz" а) после всех выполненых операций восстанавливаем изначальное значение (у меня буква а русская в посте кода) |
|||
![]() |
|
||||
Регистрация: 26.08.2011
Сообщений: 20
|
mamuk Ты однозначно прав с координатой z
Но (setvar "osnapz" 0) не помогает, уже попоробовал И установлена она изначально "0" как я уже говорил. Но после (setq old_osmode (getvar "osmode")) (setvar "osmode" 0) что то не даёт ввести ненулевую координату z а если этого кода нет, то всё работает. Все дело было в OSNAPCOORD И можно даже не отключать привязки програмно всё работает так как надо. Всем большое спасибо что направили меня на верный путь. Последний раз редактировалось FSergio, 27.08.2011 в 11:17. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Расчет монтажной башни с растяжками в MicroFE 2005 (почему программа не считает?) | giparshik | Расчетные программы | 1 | 20.07.2011 18:46 |
Программа AlxdDike под а2004 работает? | LLEXA | AutoCAD | 8 | 03.05.2011 21:41 |
Объясните почему такая разница в подобранной арматуре | МишаИнженер | Расчетные программы | 14 | 26.02.2010 23:15 |
Фундамент с динамическими нагрузками в Scad | Tlelaxu | SCAD | 9 | 31.08.2007 10:44 |
_mpedit неправильно работает? | Elfirel | AutoCAD | 8 | 05.08.2004 12:14 |