(изменено: Judas, 23 июня 2018г. 17:19:23)

Тема: Помогите разобораться

Есть простая трех мерная деталь. Строиться она из параллелепипедов.
Значения "l" - длины элементов по ОХ
Значения "s" - длины элементов по ОY
Значения "h" - длины элементов по ОZ

Проблема в построении второго примитива, он должне пересекаться с первым.
Проверял координаты они верные для построение, но при этом второй приметив строиться как примыкание, а не пересечение.

(defun DZ (/ x1 y1 z1 l1 s1 h1 l2 s2 h2 l3 s3 h3)
    ;первый примитив
    (setq x1 (getreal "Введите начальный x1:"))
    (setq y1 (getreal "Введите начальный y1:"))
    (setq z1 (getreal "Введите начальный z1:"))
    (setq l1 (getreal "Введите длину 1го элемента l1:"))
    (setq s1 (getreal "Введите ширину 1го элемента s1:"))
    (setq h1 (getreal "Введите высоту 1го элемента h1:"))
    (setq P1 (list x1 y1 z1))
    (command "_box" P1 "_L" l1 s1 h1)
    (setq b1 (entlast))

    ;второй примитив
    (setq l2 (getreal "Введите длину 2го элемента l2:"))
    ;(setq s2 (getreal "Введите ширину 2го элемента s2:"))
    (setq h2 (getreal "Введите высоту 2го элемента h2:"))
    (setq x2 (- (+ x1 l1) l2))
    (setq y2 y1)
    (setq z2 z1)
    (setq P2 (list x2 y2 z2))
    (command "_box" P2 "_L" l2 s1 h2)
    (setq b2 (entlast))
    
    ;третий примитив
    ;(setq l3 (getreal "Введите длину 3го элемента l3:"))
    ;(setq s3 (getreal "Введите ширину 3го элемента s3:"))
    ;(setq h3 (getreal "Введите высоту 3го элемента h3:"))
    ;(setq x3 x1)
    ;(setq y3 (+ (- (/ s1 2.0) (/ s3 2.0)) (/ s3 2.0)))
    ;(setq z3 z1)
    ;(setq P3 (list x3 y3 z3))
    ;(command "_box" P3 "_L" l3 s3 h3)
    (setq b3 (entlast))    
)

Заранее спасибо.

Re: Помогите разобораться

Разобрался, все дело в привязках.
Теперь следующий вопрос - как их отключить из лиспа?

Re: Помогите разобораться

(setvar 'osmode 0)