samifox 发表于 2022-7-6 06:42:02

帮助参考:使用程序

你好
 
autocad developer帮助参考中的所有VBA和Activex示例都在VBA中。我不知道vba,所以我如何使用它们?
例如,此代码:

Sub Ch4_AddLightWeightPolyline()
Dim plineObj As AcadLWPolyline
Dim points(0 To 5) As Double
' Define the 2D polyline points
points(0) = 2: points(1) = 4
points(2) = 4: points(3) = 2
points(4) = 6: points(5) = 4
' Create a light weight Polyline object in model space Set plineObj = ThisDrawing.ModelSpace. _ AddLightWeightPolyline(points) ThisDrawing.Application.ZoomAllEnd
Sub


 
参考文献中关于如何创建选择集的更令人困惑的例子:
 

Sub Ch4_CreateSelectionSet()
Dim selectionSet1 As AcadSelectionSet
Set selectionSet1 = ThisDrawing.SelectionSets. _
Add("NewSelectionSet")
End Sub

 
在autolisp中你会怎么说?
谢谢
谢伊

Lee Mac 发表于 2022-7-6 06:52:12

转换第一个示例:
然而,实际上,您可以将指向应用程序对象的指针分配给局部变量,以避免重复计算vlax get acad对象,也可以使用vlax invoke来避免创建safearray&variant。
 
第二个示例也可以转换为Visual LISP,但是,当要创建的选择集已存在于选择集集合中时,它缺少错误捕捉来解释,并且在完成时也不会从集合中删除创建的选择集。

samifox 发表于 2022-7-6 06:57:10

你好
 
我把它并排比较,
VBA的“Dim plineObj As AcadLWPolyline”在lisp中时已获取指针
数组也是如此
这样说安全吗?
 
谢谢
谢伊

Lee Mac 发表于 2022-7-6 07:01:37

 
在AutoLISP中,该语句的等效方法是简单地将addlightweightpolyline方法返回的LWPolyline VLA对象分配给局部变量plineObj,例如:
一个显著的区别是,您不需要在AutoLISP中声明变量数据类型,因为变量在程序中的整个使用过程中可能会被分配不同数据类型的值,这是AutoLISP作为“动态类型”编程语言的结果。

samifox 发表于 2022-7-6 07:04:21

我觉得使用帮助信息是不合适的,我误用了它。以我目前的技能,我应该能够自己编写函数,但我总是需要帮助才能完成任务
 
例如,我想写的基本功能,创建一个新的绘图,每次我按m。现在请我,而不是写代码给我请告诉我的方式。从帮助中获取此信息。
 
 
 
 
去哪里看,为什么?从哪里开始?诸如此类
 
 
谢谢
谢伊

neophoible 发表于 2022-7-6 07:12:20

http://exchange.autodesk.com/autocad/enu/online-help/ACD/2012/ENU/pages/WS1a9193826455f5ff561db57a12bd50eabde-7fdb.htm
 
你可以从那个页面访问很多内容。此外,使用谷歌查找其他资源。
 
但我想知道有谁会想在我需要移动命令时使用我宝贵的M键打开一个新图形!此外,我不想仅仅因为碰了一把钥匙就意外地打开一幅新画。当我找到阻止F1键打开帮助的方法时,我很感激。

samifox 发表于 2022-7-6 07:20:12

我希望有一天我会想办法帮你
 
这就是我不需要使用它的例子。这是一件很容易解释和理解的基本事情

samifox 发表于 2022-7-6 07:23:23

你好
 
为什么在某些例子中我看到了
 
(vla-addlightweightpolyline (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
         (vlax-make-variant
 
有些人不是
 
 
谢谢
谢伊

pBe 发表于 2022-7-6 07:28:06

你是说像这个
 
6

samifox 发表于 2022-7-6 07:32:30

耶。。。但有时不是
页: [1] 2
查看完整版本: 帮助参考:使用程序