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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программа работает в 8 версии, в 10 - нет!

Программа работает в 8 версии, в 10 - нет!

Ответ
Поиск в этой теме
Непрочитано 16.02.2011, 13:43 #1
Программа работает в 8 версии, в 10 - нет!
Zaghim
 
Регистрация: 01.07.2010
Сообщений: 521

Друзья, вот программка, достаточно простенькая. Она работает в Автокаде 2008 без проблем, в 10 версии не хочет. Слетает на команде BREAK. Подскажите в чем дело? Заранее благодарю!

Код:
[Выделить все]
(DEFUN C:FF()
(setq A (getpoint "\n введите 1 точку "));ЗАПРОС 1 ТОЧКИ
(setq B (getpoint A "\n введите нормаль трубы "));ЗАПРОС ВТОРОЙ ТОЧКИ
(SETQ UAB (ANGLE A B ))
(SETQ DAB (DISTANCE A B))
(SETQ DAB2 (/ DAB 2))  
(SETQ KSC (/ DAB 76))
(IF (< DAB 49)(SETQ RAS 297.3112)(SETQ RAS 288.7044));РАЗМЕРЫ ОБРЕЗКИ
(SETQ DOF (* RAS KSC))
(SETQ UOF (+ UAB 1.5708))
(SETQ POF (POLAR A UOF DOF))
(SETQ C (POLAR A UAB DAB2))
(SETQ C1 (POLAR C UOF DOF))  
(SETQ A1 (POLAR A UOF DOF))
(SETQ B1 (POLAR B UOF DOF))    
(COMMAND "_BREAK" A A1)
(COMMAND "_BREAK" B B1)
(COMMAND "_BREAK" C C1)    
(IF (< DAB 49)(FF_d50)(FF_p50))
(SETQ OB (SSGET "l"))  
(COMMAND "_SCALE" OB "" A KSC "")
(COMMAND "_EXPLODE" OB ""))

(defun FF_d50()
(COMMAND "_INSERT" "ORAS_FILTER_FAS" A""""B);бЛОК ДО ДИАМЕТРА 50
)

(defun FF_p50()
(COMMAND "_INSERT" "NAVAL_FILTER_FAS" A""""B);бЛОК ПОСЛЕ ДИАМЕТРА 50
)
Просмотров: 4217
 
Непрочитано 21.02.2011, 13:23
#2
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Не вполне понятно, что должна делать программа и кому дана команда _BREAK? О какой трубе идет базар?
E-degtyarev вне форума  
 
Автор темы   Непрочитано 21.02.2011, 14:02
#3
Zaghim


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


Рисуем трубу, любого диаметра. Потом указываем точку вставки арматуры, нормаль трубы - это ее диаметр, потом нарисованная труба обрезается, туда вставляется блок и взрывается.
Zaghim вне форума  
 
Непрочитано 21.02.2011, 14:37
#4
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


http://dwg.ru/pub/12 Здесь ИМХО лежит более красивое решение, спасибо VOVe!
У меня нет 2010 CADa, попробуй прогнать вручную _BREAK из ком. строки. Думаю все прояснится.

Последний раз редактировалось E-degtyarev, 21.02.2011 в 14:42.
E-degtyarev вне форума  
 
Автор темы   Непрочитано 21.02.2011, 14:43
#5
Zaghim


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


Это все понятно, но не решает конкретной проблемы... ведь не понятно в чем дело, команды одни и теже, в 8 работает, в 10 нет, либо раз, через 10
Zaghim вне форума  
 
Непрочитано 21.02.2011, 16:01
#6
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


От командных методов уходить однако нужно, хотя они и привлекают простотой.
E-degtyarev вне форума  
 
Непрочитано 21.02.2011, 16:48
#7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Zaghim Посмотреть сообщение
едь не понятно в чем дело, команды одни и теже, в 8 работает, в 10 нет, либо раз, через 10
Вот тебе пример: Помогите исправить программу под 2010 версию
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 21.02.2011, 17:35
#8
Zaghim


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


Примера четкого не увидел, запутался только еще больше
Zaghim вне форума  
 
Непрочитано 21.02.2011, 17:40
#9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Zaghim, Пример в самом названии. Т.е. не ты первый, не ты последний. Более четкий пример в этой цитате
Цитата:
Дело может быть в том, что если примитив - объект "LINE", то в команду "fillet" нужно передавать список в таком виде, как его возвращет функция ENTSEL: (ENAME (X Y Z)), а если имеем дело с полилинией, то передавать в "fillet" просто точки (оставил как в старой версии)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 21.02.2011, 18:02
#10
Zaghim


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


Я хотел написать, что может вместо getpoint мне использовать entsel? Но задумался...сейчас попробую, примет ли break переменную в таком виде...
Zaghim вне форума  
 
Непрочитано 21.02.2011, 18:05
#11
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Zaghim Посмотреть сообщение
примет ли break переменную в таком виде...

Код:
[Выделить все]
(and
  (setq en (entsel "\nУкажи отрезок (это и будет 1-я точка): "))
  (setq pt2 (getpoint "\n2-я точка: "))
  (command "_break" en "_none" pt2)
  )
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 22.02.2011, 10:08
#12
Zaghim


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


Я долго стеснялся спросить, что значит "_none"???? Очень часто это вижу у тебя.

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

Кстати этот код срабатывает, но срабатывает раза с 5 и не понятно куда нужно точно нажать, в общем не понял при каком условии она срабатывает...

Последний раз редактировалось Zaghim, 22.02.2011 в 11:12.
Zaghim вне форума  
 
Непрочитано 22.02.2011, 11:49
#13
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Для начала, неплохо бы было привести пример чертежа и показать, что должно происходить. А то...
Цитата:
Рисуем трубу, любого диаметра
Можно нарисовать в 3D, можно двумя параллельными линиями плюс осевая между ними, можно две концентрические окружности. О чем идет речь?
Цитата:
Потом указываем точку вставки арматуры
Ни разу в жизни не вставлял арматуру в трубу . И большинство людей, думаю, не вставляли. Т.е. вопрос тот же: о чем идет речь?
Цитата:
нормаль трубы - это ее диаметр
Нормаль - это вектор, диаметр -это число. Как может нормаль быть диаметром?
__________________
...в шее моей жилы железные, и лоб мой - медный...
Pastor вне форума  
 
Непрочитано 22.02.2011, 12:01
#14
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Цитата:
Сообщение от Pastor Посмотреть сообщение
Ни разу в жизни не вставлял арматуру в трубу
А как на счёт запорной арматуры?
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Непрочитано 22.02.2011, 12:13
#15
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Точно! А я то дурак, и так и сяк, кручу в уме, верчу. Думаю, нахрен в трубу пихать арматуру?
__________________
...в шее моей жилы железные, и лоб мой - медный...
Pastor вне форума  
 
Автор темы   Непрочитано 22.02.2011, 12:20
#16
Zaghim


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


Хватит придираться к словам. Вот пример. Можно было бы и код запустить, только блок изменить... Нормаль трубы - это вторая точка на другом крае трубы, в общем такая же координата.
Вложения
Тип файла: dwg
DWG 2004
1.dwg (45.0 Кб, 626 просмотров)
Zaghim вне форума  
 
Непрочитано 22.02.2011, 14:27
1 | #17
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Замени:
Код:
[Выделить все]
(COMMAND "_BREAK" A A1)
(COMMAND "_BREAK" B B1)
(COMMAND "_BREAK" C C1)
на:
Код:
[Выделить все]
(COMMAND "_BREAK" (ssname (ssget A) 0) A A1)
(COMMAND "_BREAK" (ssname (ssget B) 0) B B1)
(COMMAND "_BREAK" (ssname (ssget C) 0) C C1)
__________________
...в шее моей жилы железные, и лоб мой - медный...
Pastor вне форума  
 
Непрочитано 22.02.2011, 15:23
1 | #18
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Zaghim Посмотреть сообщение
Я долго стеснялся спросить, что значит "_none"???? Очень часто это вижу у тебя.
Это один из вариантов как не наступить на грабли №1 (читать здесь с поста #167 до примерно 234. Для твоего случая сформулировано в #181
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 22.02.2011, 17:01
#19
Zaghim


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


Ребят, спасибо огромное!!!!!!!!! Пост 17 работает!!!!!!! ВСЕХ С НАСТУПАЮЩИМ!!!!!!!!!!!!!!!!!!!!!!!
VVA, тему прочитаю, спасибо за наводку!!!
Zaghim вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программа работает в 8 версии, в 10 - нет!

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для установки Z-координаты точки текста рядом с ней Кочетков Андрей Программирование 16 27.11.2012 23:00
Кто работает в программе Гектор-строитель? Лена911 Прочее. Программное обеспечение 5 16.02.2012 09:48
При подсчете объема вылетает программа Autocad Civil 3d 2011 Макс_Кунгур Вертикальные решения на базе AutoCAD 1 12.11.2010 08:48
Не работает скрипт kpblc-vlr.LSP в английском 2006-м акаде Witalij LISP 8 24.06.2008 11:37
Конвертиовать файлы новой версии в страрую KShevchenko AutoCAD 4 01.02.2008 14:31