乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: ksperopoulos

[编程交流] 基于位置获取Z值

[复制链接]

55

主题

325

帖子

274

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
280
发表于 2022-7-6 00:28:34 | 显示全部楼层
当我这样做的时候,我不断地得到一个糟糕的参数错误。我做错了什么?
 
  1. (defun c:mepelev ( / vlaobj)
  2. (vl-load-com)
  3. (setq vlaobj (vlax-ename->vla-object (car (entsel))))
  4. (vlax-get-property vlaobj 'points)
  5. (command "mleader" pause pause vlaobj)
  6. (princ)
  7. )
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 00:31:35 | 显示全部楼层
 
您选择的实体类型是什么,
我对这件事不知所措
  1. (vlax-get-property vlaobj 'points)

 
什么vla对象具有“点”属性?
 
为了回答您的问题,您没有提供有效的值作为参数。在这种情况下,VLA-OBJECT
 
假设此行返回一个列表
  1. (vlax-get-property vlaobj 'points)

 
然后,只要将其赋给变量名或直接赋给命令表达式,就可以将其用作有效参数
 
  1. [color="blue"](setq value [/color](vlax-get vlaobj 'points)[color="blue"])[/color]
  2. (command "mleader" pause pause [color="blue"]value[/color])

 

 
  1. (command "mleader" pause pause  [color="blue"](vlax-get vlaobj 'points)[/color])
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
280
发表于 2022-7-6 00:37:22 | 显示全部楼层
图形中的对象是来自在AutoCad上运行的垂直产品(称为制造CADmep)的管道。
 
 
我很抱歉,因为我不能百分之百确定我在寻找什么“价值”。你是说如果我用vlaobj替换vla对象,它可能会工作吗?
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:40:22 | 显示全部楼层
Kyle,
作为YMG3岗位,
  1. (vlax-dump-object (vlax-ename->vla-object (car (entsel))))

这会带来什么回报?
复制该代码并粘贴到您的命令行,选择您的一个管道,然后按F2,复制/粘贴结果,这样我们就可以看到可用的属性。。。
 
亨里克
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
280
发表于 2022-7-6 00:41:14 | 显示全部楼层
 
这是我得到的
005642ou3qqq7kt5ew4ksk.png
回复

使用道具 举报

15

主题

243

帖子

228

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 00:44:18 | 显示全部楼层
我的2美分。。。
除非有问题的块具有静态名称,否则您需要设计一种能够选择正确块的方法。
少点击当然很好,但有时一次点击比几百行代码(夸张)要好,但重点仍然是。
(get)函数、块名、filedia,我相信还有一些方法可以选择程序中的项目。
使用lisp的自动化部分,自动并通过0次单击绘制包含所需信息的多重引线。简单地选择一个区块对于工作场所来说并不太可怕,因为一个程序因为获得了选择而做了很多事情。。。。
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:47:33 | 显示全部楼层
Kyle,
正如pBe所说,
 
  1. (defun c:mepelev ( / vlaobj)
  2. (vl-load-com)
  3. (setq vlaobj (vlax-ename->vla-object (car (entsel))))
  4. (command "mleader" pause pause  (vlax-get vlaobj 'points))
  5. (princ)
  6. )

 
亨里克
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
280
发表于 2022-7-6 00:50:44 | 显示全部楼层
亨里克-谢谢你。这似乎现在起作用了。我现在要做的就是从这里解析z提升。在查看了你贴在我旁边的代码后,看起来我把它放错地方了:
 
  1. (vlax-get-property vlaobj 'points)
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:54:06 | 显示全部楼层
不用谢,凯尔
但是所有的学分都将被YMG3和pBe获得!
 
亨里克
回复

使用道具 举报

55

主题

325

帖子

274

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
280
发表于 2022-7-6 00:57:49 | 显示全部楼层
你说得对。对不起,我没有提到他们。谢谢大家帮助我!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 22:07 , Processed in 0.629591 second(s), 73 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表