Grrr 发表于 2022-7-5 15:37:22

旋转参考

嘿伙计们,
我试着用3个点旋转一个物体,我想知道你能解决这个问题吗-
 
; Rotate Reference Test
(defun C:test ( / o bp sp dp )
(and
   (setq o (car (entsel "\nSelect object to rotate: ")))
   (setq o (vlax-ename->vla-object o))
   (setq bp (getpoint "\nSpecify base point for rotation: "))
   (setq sp (getpoint "\nSpecify source point: " bp))
   (not (grdraw bp sp 2 1))
   (setq dp (getpoint "\nSpecify dest point: " bp))
   ; (vlax-invoke o 'Rotate ..?)
)
(princ)
)

Lee Mac 发表于 2022-7-5 15:55:12

; Rotate Reference Test
(defun C:test ( / o bp sp dp )
(and
   (setq o (car (entsel "\nSelect object to rotate: ")))
   (setq o (vlax-ename->vla-object o))
   (setq bp (getpoint "\nSpecify base point for rotation: "))
   (setq sp (getpoint "\nSpecify source point: " bp))
   (not (grdraw bp sp 2 1))
   (setq dp (getpoint "\nSpecify dest point: " bp))
   (vla-Rotate o (vlax-3D-point bp) (- (angle bp dp) (angle bp sp)))
)
(princ)
)

Grrr 发表于 2022-7-5 16:03:52

谢谢李!
我试图模拟对齐,通过4个点定义2个段和一个要移动和旋转的对象。
现在它工作了!

Lee Mac 发表于 2022-7-5 16:13:38

不客气!
 
此选项已作为标准旋转命令的一部分提供,但是。。。
 
Command: rotate
Current positive angle in UCS:ANGDIR=counterclockwiseANGBASE=0
Select objects: 1 found
Specify base point:
Specify rotation angle or Reference] <0>:

Grrr 发表于 2022-7-5 16:30:39

是的,我知道-我只是想把一些命令调用切换到activex(修改旧例程)。

Roy_043 发表于 2022-7-5 16:43:08

只是一个提示:旋转方法的基点在WCS中表示。
页: [1]
查看完整版本: 旋转参考