乐筑天下

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

[编程交流] 访问代码wi中的实体

[复制链接]

1

主题

1

帖子

0

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:33:02 | 显示全部楼层 |阅读模式
你好
 
我不知道如何轻松访问使用编码窗口选择创建的选择集的第一个实体。
 
我想读出在编码窗口选择集中“抓取”的两个不同对象的第一个点的坐标。一条多段线,一条线。然后我想把直线从它的第一个点作为基点复制到多段线的第一个点。我想把它复制到多段线的所有其他点。
 
因此,了解如何访问(读取)物体的第二个、第三个等点更有趣。。。使用visual lisp。
 
以下代码首先使用线应复制到的对象的拾取和线基点的静态坐标,而不是读取坐标:
 
  1. (vl-load-com)
  2. (setq sel1 (ssget "_w" '(-2 -2) '(115 10)))
  3. (setq e (car (entsel)))
  4. (setq topoint (vlax-curve-getStartPoint e))
  5. (command "_.COPY" sel1 "" "0,0" topoint)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 17:03:52 | 显示全部楼层
有几种方法可以访问选择集中的项目-本教程介绍了几种方法的优缺点。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:58:53 | 显示全部楼层
这是一个pline坐标系,它列出了顶点列表。你只需要一个entsel,然后检查它是一个pline还是一条line等等。我最近发布了一些东西,它可以满足你的大部分需求。将尝试查找。
 
  1. ; pline co-ords example
  2. ; By Alan H
  3. (defun getcoords (ent)
  4. (vlax-safearray->list
  5.    (vlax-variant-value
  6.      (vlax-get-property
  7.    (vlax-ename->vla-object ent)
  8.    "Coordinates"
  9.      )
  10.    )
  11. )
  12. )
  13. (defun co-ords2xy ()
  14. ; convert now to a list of xy as co-ords are x y x y x y if 3d x y z x y z
  15. (setq numb (/ (length co-ords) 2))
  16. (setq I 0)
  17. (repeat numb
  18. (setq xy (list (nth i co-ords)(nth (+ I 1) co-ords) ))
  19. (setq co-ordsxy (cons xy co-ordsxy))
  20. (setq I (+ I 2))
  21. )
  22. )
  23. ; program starts here
  24. (setq co-ords (getcoords (car (entsel "\nplease pick pline"))))
  25. (co-ords2xy)
  26. ; look at varaible co-ordsxy which is a list of vertices
  27. (princ co-ordsxy)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 15:41 , Processed in 1.261960 second(s), 69 queries .

© 2020-2025 乐筑天下

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