mariarfd 发表于 2022-7-5 15:45:20

对不起,我想我找到了-我搜索了vlsp语法参考。。。

Tharwat 发表于 2022-7-5 15:49:26

你好
 
这里有一个链接,指向实体链接的DXF代码

mariarfd 发表于 2022-7-5 15:49:53

谢谢Tharwat,非常好!我有点困惑,这些代码和你提到的dxf和lsp的代码一样吗?

Tharwat 发表于 2022-7-5 15:53:37

尝试此例程以检索选定对象/实体的DXF。
 
(defun c:dxf (/ ent)
(if (setq ent (car (entsel "\n-> Select an entity : ")))
   (progn (foreach x (entget ent '("*")) (print x)) (textscr))
   )
(princ)
)

hanhphuc 发表于 2022-7-5 15:57:08

 
dxf实体的通用组码,然后是多段线等。。
 
谢谢Tharwat的链接
 
FWIW,我希望vlisp方法和属性对新手来说更“可读”

(setq en (car(entsel)))
(vlax-dump-object (vlax-ename->vla-object en) t)

 
 
下面是比较dxf和VL的示例:
如果实体(法线)的挤出不是“(210 0.0.1.),通过dxf
您可能还需要将ocs转换为wcs。
然而,通过VL activeX vla get坐标方法,它考虑了这一“法线”。
 
然而,学习两者都是一个优势

BIGAL 发表于 2022-7-5 16:00:14

你会发现很多代码混合了VL和dxf代码,我知道我有一些代码使用entmake dxf来生成块,但其余的代码是VL。
 
 
我将尝试找到坐标代码,它使用对象类型来计算它是否支持2d或3d,即将“坐标列表”除以2或3,我认为这是在家。

mariarfd 发表于 2022-7-5 16:02:53

您好,所以我一直在尝试“翻译”代码,并理解它作为第一步,大部分并没有我想的那么难,除非我把它都搞错了!我使用word是因为它帮助我将其可视化,我仅将其用于翻译,不会尝试从此word文件加载任何内容。请查看我的文件并给出更多提示!
 
我试过了
-在vlax get中成功添加长度
-未能将(90.4)更改为(90.anyBiggerNumber)
-未能完全删除(90.4)参数,希望获得实体的所有坐标,然后在vlax get coordinates或(coordinates(x))中添加(x)之类的广告,希望x代表所有(还尝试了其他多种方法,导致最初返回的错误,最后只返回了defun,根本没有任何列表……可能我不懂语法,一直在任意编写愚蠢的东西!这对大家来说一定很有趣!……但这是我第一次。)这是否与其他默认设置有关,或者只是我做得不对?
 
现在我至少增加了我需要的长度,这很简单,很常见,我有两个问题:
-我需要所有的坐标,如果你认为我能自己做的话,请给我指个方向
-我需要坐标结果的更高精度。关于这一点,我研究并发现,在lisp中,精度是最大的,但在打印中,精度更小,并尝试应用rtos(读到这篇文章你一定会笑)、luprec和更多,但可能不是以正确的方式,只是一个长镜头。这导致了图纸本身的混乱,幸运的是这是一个测试图纸。我现在在笑。关于这件事,请给我一个提示,或者如果它太高级,你能提供更多帮助吗?
非常感谢您抽出时间,
玛丽亚
用英语翻译。docx文件

mariarfd 发表于 2022-7-5 16:05:25

非常感谢bigal,我将非常感谢!

ronjonp 发表于 2022-7-5 16:09:28

下面是另一个获取对象的dxf和vla属性的方法:
(defun c:dxflist (/ e)
(cond        ((setq e (car (entsel "\nPick something to see data: ")))
(mapcar 'print (entget e '("*")))
(vlax-dump-Object (vlax-ename->vla-object e) t)
(textscr)
)
)
(princ)
)(vl-load-com)
 
还有这个。

hanhphuc 发表于 2022-7-5 16:13:20

本地化IQ变量
 
10
页: 1 [2]
查看完整版本: 每个pol的坐标提取