乐筑天下

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

[编程交流] 转换多段线顶点

[复制链接]

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:15:32 | 显示全部楼层 |阅读模式
在过去,我编写了一些代码来操作多段线的几何图形,但是我最近才遇到OCS的问题。
我编写了一个代码,用于提取多段线顶点,并在下面创建一个表,指示链测长度和RL(土木工程部分)。
这段代码运行良好,直到我发现在某些情况下,顶点坐标与UCS坐标不同,因此我发现了OCS的世界。
是否有人拥有将OCS坐标转换为UCS的lisp代码,或建议最好的方法。
 
 
谢谢
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:34:12 | 显示全部楼层
你们的幸运日刚刚玩了一个trans函数,你们可以非常简单地将用户co ords的pt转换为世界。(setq wpt(trans ucspt 1 0))
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:49:28 | 显示全部楼层
谢谢BigAl,但我需要将OCS(对象坐标系)转换为UCS。
 
 
干杯
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 17:03:08 | 显示全部楼层
您可以使用:
  1. (trans point_in_ocs normal_of_entity 1)
或:
  1. (trans point_in_ocs ename_of_entity 1)
  1. (setq enm (car (entsel)))
  2. (setq elst (entget enm))
  3. (setq elv (list (cdr (assoc 38 elst)))) ; Elevation.
  4. (setq nor (cdr (assoc 210 elst)))       ; Extrusion or Normal.
  5. (vl-remove
  6. nil
  7. (mapcar
  8.    '(lambda (sub) (if (= 10 (car sub)) (trans (append (cdr sub) elv) nor 1)))
  9.    elst
  10. )
  11. )
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:11:38 | 显示全部楼层
谢谢你,罗伊。
一、 我会让他们试试我的代码。
 
 
干杯
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:20:08 | 显示全部楼层
谢谢Roy
我最终使用了你的第二个代码选项。
一切都很顺利。
 
 
干杯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 16:55 , Processed in 1.156880 second(s), 64 queries .

© 2020-2025 乐筑天下

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