明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 696|回复: 5

[提问] vlax-put-Property能否修改图元的坐标呢?试了一下想知道为何执行无效

[复制链接]
发表于 2021-7-12 00:12:20 | 显示全部楼层 |阅读模式
求帮忙看一下
(defun c:tat (/ lla pta ptb)
             (vl-load-com)
  (setq lla (vlax-Ename->vla-Object (car(entsel))))
  (vlax-put-Property lla 'Startpoint '(10.0 20.0 10.0)) ;;为什么这句话不生效呀,
  (princ)
)
 楼主| 发表于 2021-7-12 00:22:18 | 显示全部楼层
本帖最后由 caocaosasd 于 2021-7-12 00:23 编辑

我知道了用(vlax-dump-object (vlax-ename->vla-object(car(entsel))))查看图元的属性,也看到了coordinates里是多段线各顶点的坐标

我想顺便问一下
(vlax-get-property (vlax-ename->vla-object(car(entsel))) "coordinates")
运行这句话后点选多段线,为何返回值是 #<variant 8197 ...>  ?
那有没有办法用这句话获得多段线的各端点呢?
我还想用vlax-put-property的方法修改多段线的顶点坐标,来模拟多段线的移动之类的,这可行不?
发表于 2021-7-12 06:49:12 | 显示全部楼层
获取变体的值,然后再转换成表。
发表于 2021-7-12 07:00:14 | 显示全部楼层
(setq pts (Vlax-Get-property (Vlax-Ename->Vla-Object (Car(Entsel))) 'Coordinates))
(setq pts (vlax-safearray->list (vlax-variant-value pts)))
发表于 2021-7-12 19:04:37 | 显示全部楼层
Startpoint是直线才有的属性,多段线没有这个属性。
发表于 2021-7-14 10:43:59 | 显示全部楼层
点用 vlax-3d-point 函数转换下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-16 18:18 , Processed in 0.233557 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表