乐筑天下

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

[编程交流] 来自数据库的几何空间属性

[复制链接]

46

主题

92

帖子

45

银币

后起之秀

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

铜币
235
发表于 2022-7-5 17:32:18 | 显示全部楼层 |阅读模式
在Civil 3D 2010中,我使用此函数检索数据几何空间点。2014年,Civil function返回零。
  1.   (setq acadObject (vlax-get-acad-object))
  2. (princ acadObject)
  3. (setq acadDocument (vla-get-ActiveDocument acadObject))
  4. (setq mSpace (vla-get-ModelSpace acadDocument))
  5. (print mSpace)
  6. (setq lst nil)
  7. (vlax-for ent mSpace
  8.    (if (equal (vla-get-ObjectName ent) "AeccDbCogoPoint")
  9.      (progn
  10. (setq enm (vlax-vla-object->ename ent))
  11. (setq obj (vlax-ename->vla-object enm))
  12. (setq nbr (vlax-get obj 'Number))
  13. (setq coo (vlax-get obj 'Location))
  14. (setq coor (mapcar '(lambda (%) (rtos % 2 3)) (list (cadr coo) (car coo) (caddr coo))))
  15. (setq lst (append lst (list (append (list nbr) coor))))
  16. )
  17.      )
  18.    )

如何获得几何空间的属性?
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 18:59:42 | 显示全部楼层
科瓦尔,
 
这是很快放在一起,但应该是你正在寻找的。
 
  1. (defun c:test ( / ss n obj nbr coo coor lst)
  2. (setq ss (ssget "x" '((0 . "AECC_COGO_POINT"))))
  3. (setq n 0)
  4. (repeat (sslength ss)
  5.    (setq obj (vlax-ename->vla-object (ssname ss n)))
  6.    (setq nbr (vlax-get-property obj 'Number))
  7.    (setq coo (vlax-safearray->list (vlax-variant-value (vlax-get-property obj 'Location))))
  8.    (setq coor (mapcar '(lambda (%) (rtos % 2 3))(list (cadr coo)(car coo)(caddr coo))))
  9.    (setq lst (append lst (list (append (list nbr) coor))))
  10.    (setq n (+ n 1))
  11.    )
  12. (princ (strcat "\n" (vl-princ-to-string lst)))
  13. (princ)
  14. )

 
当做
 
hippe013
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 04:08 , Processed in 0.454095 second(s), 56 queries .

© 2020-2025 乐筑天下

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