(car (entsel)) 发表于 2022-7-5 17:12:00

方法

你好,我是新来的。
我对visual lisp知之甚少,我想问一下方法:
; 支持的方法:
;   添加顶点(2)
;   ArrayPolar(3)
;   阵列直角(6)
;   复制()
;   删除()
;   分解()
;   GetBoundingBox(2)
;   GetBulge(1)
;   GetExtensionDictionary()
;   GetWidth(3)
;   获取扩展数据(3)
;   突出显示(1)
;   与(2)相交
;   镜子(2)
;   镜像3D(3)
;   移动(2)
;   偏移(1)
;   旋转(2)
;   旋转3d(3)
;   标度(2)
;   SetBulge(2)
;   设置宽度(3)
;   设置扩展数据(2)
;   TransformBy(1)
;   更新()
每个“方法”背后的这些数字意味着什么?如何使用它们?
我试过(vla put Offset o(getdist)),但不起作用。

marko_ribar 发表于 2022-7-5 17:19:21

数字表示每个方法(没有主VLA-OBJECT参数)工作所需的参数数。。。
对于ex。
(vla复制vla-OBJECT)
(vla addvertex vla-OBJECT parameterofsegment(vlax-3d-point pt))
(vla setbulge vla-OBJECT parameterofsegment bulgevalue)
...
 
是的:vla偏移:
(vla offset vla-OBJECT值(正实数或负实数)-“not(getdist)”)

(car (entsel)) 发表于 2022-7-5 17:24:17

好了,现在我明白了。但是你怎么知道每个方法都需要什么类型的参数呢?
vla移动需要vla对象和2点还是1点和实数?

Tharwat 发表于 2022-7-5 17:27:34

 
将此链接添加书签

marko_ribar 发表于 2022-7-5 17:32:07

vla移动需要2个点(基点)和(目标点),当然作为变体:
 
(vla移动vla对象(vlax-3d点p1)(vlax-3d点p2))
 
你必须进行实验——我也没有这方面的参考资料,但有些东西是符合逻辑的,比如命令移动(所以它与(vla MOVE)相同)

(car (entsel)) 发表于 2022-7-5 17:34:24

这是一个非常好的网站,Tharwat先生,谢谢你分享。
里巴尔先生谢谢你帮助我,现在我将学习如何处理这些方法。

Tharwat 发表于 2022-7-5 17:38:05

 
欢迎您-快乐编码。

BIGAL 发表于 2022-7-5 17:42:18

(car(entsel))只需注意vla add,它们需要在其中添加空间,但基本上与命令行相同。
来自Afralisp的示例
 

;Get the ModelSpace collection of the active document,;select center point and radius:
(setq thisdrawing (vla-get-activedocument (vlax-get-acad-object)))
(setq mspace (vla-get-modelspace thisdrawing))
(setq pt1 (vlax-3d-point (getpoint "\nCenter point: ")))
(setq rad (getreal "\nRadius: "))
(vla-AddCircle mspace pt1 rad)

(car (entsel)) 发表于 2022-7-5 17:47:08

谢谢你提到比格尔先生,
但这带来了我的另一个问题:有没有办法自动确定活动空间,这样vla Add方法就不会引起任何问题?

marko_ribar 发表于 2022-7-5 17:52:09


(vla-get-block (vla-get-activelayout (vla-get-activedocument (vlax-get-acad-object))))

 
如果mspace处于活动状态,则应返回mspace VLA-OBJECT。。。
页: [1] 2
查看完整版本: 方法