aXioooG 发表于 2025-2-19 16:48:25

请问关于vla-offset函数的问题,新手求助

本帖最后由 aXioooG 于 2025-2-19 16:50 编辑

我新手一个,我用vla-offset函数,算是复制了一条直线,
现在需要从pt1到这条offset创建的直线的一个端点连起来,
该如何获取这个端点的参数呢,用(vlax-get osl 'startpoint)提示错误
参数类型错误: VLA-OBJECT (#<VLA-OBJECT IAcadLine 000001d640c92c08>)


感谢感谢!!

(defun c:ostest ()
(vl-load-com)
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(setq mds (vla-get-modelspace doc))

(setq pt1 (vlax-3d-point '(0 0 0)))
(setq pt2 (vlax-3d-point '(10 10 0)))

(setq l1 (vla-addline mds pt1 pt2))
(setq osline (vla-offset l1 20))
(setq osl (vlax-safearray->list (vlax-variant-value osline)))

;; 请问如何取这个vla-offset创建的osl或者说osline的端点参数?能实现吗?
)




xyp1964 发表于 2025-2-19 17:16:06

(defun c:tt ()
(vl-load-com)
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(setq mds (vla-get-modelspace doc))
(setq pt1 (vlax-3d-point '(0 0 0)))
(setq pt2 (vlax-3d-point '(10 10 0)))
(setq l1 (vla-addline mds pt1 pt2))
(vla-offset l1 20)
(setq s1 (entlast))
(setq p1 (vlax-curve-getStartPoint s1)
      p2 (vlax-curve-getEndPoint s1)
)
(princ)
)

aXioooG 发表于 2025-2-19 17:26:39

xyp1964 发表于 2025-2-19 17:16


大神大神! 感谢感谢!
实在是太感谢了!

13869574130 发表于 2025-2-20 08:31:29

大神大神! 感谢感谢!
实在是太感谢了!

yshf 发表于 2025-2-20 08:55:55

; ;; 如此也可以
(defun c:ostest ()
(vl-load-com)
(setq doc (vla-get-activedocument (vlax-get-acad-object)))
(setq mds (vla-get-modelspace doc))
(setq pt1 (vlax-3d-point '(0 0 0)))
(setq pt2 (vlax-3d-point '(10 10 0)))
(setq l1 (vla-addline mds pt1 pt2))
(setq new (car (vlax-invoke l1 "offset" 20)))
(setq p1 (vlax-get new "StartPoint"))
(setq p2 (vlax-get new "EndPoint"))
(princ)
)

aXioooG 发表于 2025-2-20 10:18:18

yshf 发表于 2025-2-20 08:55


感谢感谢!又学了一招!
页: [1]
查看完整版本: 请问关于vla-offset函数的问题,新手求助