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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > как правильно отключать привязку?

как правильно отключать привязку?

Ответ
Поиск в этой теме
Непрочитано 25.01.2011, 14:38 #1
как правильно отключать привязку?
baaba
 
архитектор
 
Москва
Регистрация: 07.07.2007
Сообщений: 644

Запутался как правильно отключать привязку.

Вариант 1, встроено в функцию:
Код:
[Выделить все]
(defun c:mkprism (/ ptlst)
	(command "_.UNDO" "_begin") 
	(setq ptlst (gtpnt))
	(mksol ptlst)
	(command "_.UNDO" "_end")
)

(defun gtpnt () (list
	(getpoint "\n Enter first point")
	(getpoint "\n Enter second point")
	(getpoint "\n Enter third point")))

(defun mksol (ptlst)
	(setq old_osnap (getvar "OSMODE")) 
	(setvar "OSMODE" 0)
	(command "_.PLINE")
	(mapcar 'command (mapcar '(lambda (x) (cons (car x) (list (cadr x)))) ptlst))
	(command "close")
	(command "_.region" "l" "")
	(command "_.extrude" "l" "" 7400 "")
	(command "_.slice" "l" "" (car ptlst) (cadr ptlst) (caddr ptlst)
		(cons (car (car ptlst)) (list (cadr (car ptlst)))))
	(setvar "OSMODE" old_osnap))
Вариант 2, встроено в основную функцию:
Код:
[Выделить все]
(defun c:mkprism (/ ptlst)
	(command "_.UNDO" "_begin") 
	(setq ptlst (gtpnt))
        (setq old_osnap (getvar "OSMODE")) 
	(setvar "OSMODE" 0)
	(mksol ptlst)
	(command "_.UNDO" "_end")
)

(defun gtpnt () (list
	(getpoint "\n Enter first point")
	(getpoint "\n Enter second point")
	(getpoint "\n Enter third point")))

(defun mksol (ptlst)
	(command "_.PLINE")
	(mapcar 'command (mapcar '(lambda (x) (cons (car x) (list (cadr x)))) ptlst))
	(command "close")
	(command "_.region" "l" "")
	(command "_.extrude" "l" "" 7400 "")
	(command "_.slice" "l" "" (car ptlst) (cadr ptlst) (caddr ptlst)
		(cons (car (car ptlst)) (list (cadr (car ptlst))))))
Оба варианта не работают
==========================================
проблема решилась, заменил "l" (последний выбранный примитив) на выражение:
Код:
Вот:
Код HTML:
http://pastebin.com/vAkm2dYF

Последний раз редактировалось baaba, 25.01.2011 в 17:40. Причина: проблема решена прошу закрыть тему
Просмотров: 3393
 
Непрочитано 25.01.2011, 17:40
#2
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Можно например так:
Код:
[Выделить все]
(defun C:test( / sys-var) 
(setq sys-var (mapcar 'getvar '("cecolor" "cmdecho" "OSMODE")))
  (setvar "cmdecho" 0)
  (setvar "OSMODE" 0)
.....................................

(mapcar 'setvar '("cecolor" "cmdecho" "OSMODE") sys-var)
(princ)
)
__________________
Никогда не спорьте с дураками - они опустят Вас до своего уровня и победят за счет опыта
CB вне форума  
 
Непрочитано 25.01.2011, 17:48
#3
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


Цитата:
Сообщение от baaba Посмотреть сообщение
Запутался как правильно отключать привязку.
Чем скорее Вы научетесь ее не отключать - тем "правильнее" будет.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 25.01.2011, 18:12
#4
E-degtyarev

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


Если я применяю командные методы, то леплю "_non", где требуется, а правильнее следовать совету Димы_.
E-degtyarev вне форума  
 
Автор темы   Непрочитано 25.01.2011, 19:25
#5
baaba

архитектор
 
Регистрация: 07.07.2007
Москва
Сообщений: 644
<phrase 1= Отправить сообщение для baaba с помощью Skype™


>CB
спасибо за пример.
>Дима_
Дело оказалось не в привязке, внимательнее читайте.
>E-degtyarev
За _non спасибо! М. б. пригодится
baaba вне форума  
 
Непрочитано 25.01.2011, 20:20
#6
VVA

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


Цитата:
Сообщение от baaba Посмотреть сообщение
проблема решилась, заменил "l" (последний выбранный примитив) на выражение:
В опицях команд так же нужно использовать нижнее подчеркивание

Код:
[Выделить все]
(command "_close")
(command "_.region" "_L" "")
и т.д
Читай 1-й абзац
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 27.01.2011, 16:14
#7
baaba

архитектор
 
Регистрация: 07.07.2007
Москва
Сообщений: 644
<phrase 1= Отправить сообщение для baaba с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
В опицях команд так же нужно использовать нижнее подчеркивание
Спасибо! Я поленился, если честно :-\
baaba вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > как правильно отключать привязку?

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли вообще правильно заармировать балку по СНиП? МишаИнженер Прочее. Архитектура и строительство 40 12.11.2019 07:31
Учёт ветра в "Лире" - как задать правильно? shakuredo Лира / Лира-САПР 5 08.10.2010 15:01
Как правильно задать в FORUM пересечение стен Евгений Д. Расчетные программы 20 30.09.2010 15:55
Правильно ли мы измеряем массу тел? Ведмер Взоров Разное 72 04.09.2009 16:57
Лира. Как правильно защемить низ башни? Red Nova Лира / Лира-САПР 15 30.07.2009 13:58