乐筑天下

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

[编程交流] 通过以下方式获取圆角半径:

[复制链接]

3

主题

20

帖子

17

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 20:14:45 | 显示全部楼层 |阅读模式
大家好。我有麻烦了。我在寻找解决我这么多天来的一个问题的方法。我有两个面,它们通过fillet命令连接。现在我想找出边上圆角的半径。我正在看模特的照片。谁来帮帮我。
211449ceuu7a8ccu18jcau.jpg
回复

使用道具 举报

BKT

1

主题

124

帖子

123

银币

初来乍到

Rank: 1

铜币
7
发表于 2022-7-5 20:30:59 | 显示全部楼层
你好,索纳利,
 
对于三维实体,这里有一些东西可以尝试。您必须选择内部圆角边。(在此中检查时没有错误…)
 
  1. (defun C:cirr (/ edge1 rad1)
  2. (setvar "cmdecho" 0)
  3. (princ "\nSelect Cylinder or Fillet Edge: ")
  4. (command "._solidedit" "_edge" "_copy" pause "" "0,0,0" "0,0,0" "" "")
  5. (setq edge1 (entget (entlast)))
  6. (setq rad1 (cdr (assoc 40 edge1)))
  7. (alert (strcat "    Radius = " (rtos rad1) "\nDiameter = " (rtos (* rad1 2))))
  8. (princ (strcat "\nRadius = " (rtos rad1) "\nDiameter = " (rtos (* rad1 2))))
  9. (command "._erase" "L" "")
  10. (princ)
  11. )
回复

使用道具 举报

3

主题

20

帖子

17

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 20:42:47 | 显示全部楼层
非常感谢。。感谢您的友好回应。。。。。
 
它显示以下错误:
忽略从实体面选择等值线。
选项关键字无效。
; 错误:功能已取消
 
此外,我的要求是只单击平面,并获得圆角的半径,即保存在中。csv文件。请帮帮我,,,,,,,,
回复

使用道具 举报

BKT

1

主题

124

帖子

123

银币

初来乍到

Rank: 1

铜币
7
发表于 2022-7-5 20:51:30 | 显示全部楼层
对不起,在这种情况下,我发布的内容将不起作用。如果您已经开始编写一些代码,请继续发布,看看是否有人可以提供帮助。
回复

使用道具 举报

3

主题

20

帖子

17

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-5 20:57:51 | 显示全部楼层
谢谢你的回复。
根据你的逻辑,如果我点击圆角,它也会显示错误。如果可以解决这个问题,请尝试修改之前提供的代码。
 
我尝试了一些代码,但我对Autolisp是新手,这使我很难继续前进。所以,任何人都可以帮助我,请帮助我。。。。。。
回复

使用道具 举报

BKT

1

主题

124

帖子

123

银币

初来乍到

Rank: 1

铜币
7
发表于 2022-7-5 21:11:32 | 显示全部楼层
我发布的代码通过询问圆角(或圆柱体)边来处理3DSolids,因此如果您正在拾取圆角本身,或者如果您的几何体不是3DSolid,那么它将不起作用。
 
您需要拾取边缘,如下所示:
 
211451rirwrrvyrc2z50rj.jpg
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 21:19:57 | 显示全部楼层
你好,索纳利,
 
三维实体在AutoCAD中是加密对象,不容易访问子对象。。。
一种方法是,使用“solidedit”命令与BTK共享。
其他,从实体创建一个副本,分解,遍历所有对象以获得所需的属性,然后删除分解的对象。。。
但是,只要知道一个物体的半径,也许像这样的东西就可以了
  1. (defun c:demo ( / osm pt1 pt2)
  2. (setq osm (getvar 'OSMODE))
  3. (setvar 'OSMODE 512)
  4. (if (and (setq pt1 (getpoint "\n Select an object to inquire radius: "))
  5.    (setq pt2 (osnap pt1 "CEN"))
  6.    )
  7.    (princ (strcat "\nObject radius is " (rtos (distance pt1 pt2))))
  8.    (princ "\n Selected object don't have radius...")
  9.    )
  10. (setvar 'OSMODE osm)
  11. (princ)
  12. )

 
希望有帮助
亨里克
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 08:56 , Processed in 0.401032 second(s), 69 queries .

© 2020-2025 乐筑天下

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