乐筑天下

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

[编程交流] LISP以圆角所有边o

[复制链接]

2

主题

11

帖子

9

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 08:36:10 | 显示全部楼层 |阅读模式
有人知道lisp可以对选定层上所有三维实体的所有边进行圆角,或者类似的操作吗?
 
实体均为矩形拉伸,所有边和实体的圆角大小相同。
 
我看了整个网络,但似乎没有太多关于这一点,只有很多关于折线和直线,我不追求。
 
我想这对AutoCAD来说不是一件容易的事情!
 
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-6 08:40:51 | 显示全部楼层
试着祈祷
 
 
  1. (defun C:Test (/ SOLID EL vte os RAD n List_p s1 edge p1 p2 pm)
  2.    ;*** GP_  06 dec. 2011 ***
  3.    (if (not (member "geomcal.arx" (arx))) (arxload "geomcal"))
  4.    (setq EL (entlast))
  5.    (setq vte (getvar "vtenable"))
  6.    (setq os (getvar "osmode"))
  7.    (setq cmd (getvar "cmdecho"))
  8.    (setvar "vtenable" 0)
  9.    (setvar "cmdecho" 0)
  10.    (prompt "\nSelect 3DSOLID ")
  11.    (if (and
  12.            (setq SOLID  (ssget '((0 . "3DSOLID"))))
  13.            (setq RAD (getreal "\nFillet radius "))
  14.        )
  15.        (progn
  16.            (if (tblsearch "VIEW" "#") (command "_-VIEW" "_D" "#"))
  17.            (command "_-VIEW" "_S" "#" )
  18.            (command "_VPOINT" "1,-1.3,1")
  19.            (setvar "osmode" 0)
  20.            (repeat (setq n (sslength SOLID))
  21.                (setq List_p nil)
  22.                (setq s1 (ssname SOLID (setq n (1- n))))
  23.                (if (> (distof (substr (getvar "acadver") 1 4)) 18.1)
  24.                    (command "isolateobjects" s1 "")
  25.                )
  26.                (command "_ZOOM" "_OBJ" s1 "")  
  27.                (command "_XEDGES" s1 "")
  28.                (while (setq edge (entnext EL))
  29.                    (setq p1 (cdr (assoc 10 (entget edge))))
  30.                    (setq p2 (cdr (assoc 11 (entget edge))))
  31.                    (entdel edge)
  32.                    (setq List_p (cons (cal "pm=plt(p1,p2,0.5)") List_p))
  33.                )
  34.                (repeat (setq i (length List_p))
  35.                    (command "_FILLET" (nth (setq i (1- i)) List_p) RAD "")
  36.                )
  37.                (if (> (distof (substr (getvar "acadver") 1 4)) 18.1)
  38.                    (command "unisolateobjects" "")
  39.                )
  40.            )
  41.            (command "_-VIEW" "_R" "#")
  42.            (command "_-VIEW" "_D" "#")
  43.            (setvar "vtenable" vte)
  44.            (setvar "cmdecho" cmd)
  45.            (setvar "osmode" os)
  46.        )
  47.    )
  48.    (princ)
  49. )
回复

使用道具 举报

2

主题

11

帖子

9

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 08:47:05 | 显示全部楼层
 
 
我想我会祈祷,然后尝试。让你知道进展如何。感谢您的帮助。
回复

使用道具 举报

2

主题

11

帖子

9

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 08:52:15 | 显示全部楼层
高总成_
 
我在立方体(3d实体)上运行了代码,得到了以下命令行响应:-
 
命令:测试
选择3DSOLID
选择对象:找到1个
选择对象:
圆角半径1***I输入1***
未找到匹配的视图名称。未知命令“FILLET”。按F1键获取帮助。
1
 
不幸的是,我对LISP写作一无所知,所以我无法修改以更正它。如果你愿意改正,我会非常高兴,如果没有,我感谢你的努力!
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-6 08:55:49 | 显示全部楼层
我稍微修改了代码。
 
输入适当的半径。
回复

使用道具 举报

2

主题

11

帖子

9

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:00:11 | 显示全部楼层
我找不到修改过的代码。你上传了吗?
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-6 09:07:11 | 显示全部楼层
我编辑了我的第一篇文章。
试试1x1x1的立方体,半径为0.2
 
不幸的是,这并不总是可行的
回复

使用道具 举报

2

主题

11

帖子

9

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:09:32 | 显示全部楼层
还是有同样的错误
回复

使用道具 举报

GP_

8

主题

248

帖子

245

银币

初来乍到

Rank: 1

铜币
42
发表于 2022-7-6 09:13:33 | 显示全部楼层
放大立方体,有圆角吗?
回复

使用道具 举报

2

主题

11

帖子

9

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:20:21 | 显示全部楼层
立方体上没有圆角。和以前一样的错误。我想就这样吧。无论如何谢谢你的帮助。。。
 
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 09:15 , Processed in 0.488841 second(s), 72 queries .

© 2020-2025 乐筑天下

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