乐筑天下

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

[编程交流] 帮助Lisp执行多个

[复制链接]

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:08:24 | 显示全部楼层
 
这里确实很好。
 
我一直在想在多个实体上做圆角是不可能的,但你破坏了这个想法。
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 08:09:40 | 显示全部楼层
我没有躺着,这是我得到的-见附件。。。也许是我的上网本不能正确操作-不知道,请用发布的dwg测试它。。。
 
M、 R。
083437hcgb8cbgpcb3dm4p.jpg
xf。图纸
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:14:21 | 显示全部楼层
 
我不认为有人认为你或其他人在撒谎。
 
只需将实体展平,然后重试。
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 08:16:18 | 显示全部楼层
但它们已经被展平了-它们像往常一样在2d中绘制。。。对于李的代码,有时它是正确的,但有时不是。。。当我执行代码时,就可以了。。。就像我说的,当实体被提供给圆角时,它不知道在哪一边做,当你提供中点时,没有错误。。。请不要用我的代码检查,而是用第一次发布的。。。
 
M、 R。
 
P、 我在我的另一个电脑上测试了它。2012年的结果也是一样的。。。有时正确,有时不正确。。。
回复

使用道具 举报

3

主题

14

帖子

11

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 08:20:30 | 显示全部楼层
哇-看到这样的lisp专家在处理业余编码问题时给出的回复,我感到受宠若惊!
 
嗯,我已经尝试了两个版本的更新lisp,但它们仍然产生了有趣的结果:
 
李·麦克的Lisp:
083438ei1illmk2keei944.jpg
 
Marko Ribar的Lisp:
083439zazj9jtqe9d0es8s.jpg
 
也许这是因为我包括了一个折线弯曲方向的改变。。。
 
非常感谢你的努力,以我有限的知识,我将做额外的测试。
回复

使用道具 举报

5

主题

1074

帖子

1088

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-6 08:24:59 | 显示全部楼层
 
你使用了哪个命令?
回复

使用道具 举报

3

主题

14

帖子

11

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 08:25:56 | 显示全部楼层
 
哈哈-我猜我的大脑在写帖子的时候正在思考一个不同的问题!
回复

使用道具 举报

5

主题

1074

帖子

1088

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-6 08:29:20 | 显示全部楼层
我可以说,我有点泄气,因为我没有给你提供一个可行的解决方案。
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 08:33:53 | 显示全部楼层
对于外部偏移-可能只是这样:
 
  1. (defun c:xf ( / *error* cm e0 e1 e2 e3 el p1 pe ch ) (vl-load-com)
  2.    (defun *error* ( msg )
  3.        (if (= 'int (type cm))
  4.            (setvar 'cmdecho cm)
  5.        )
  6.        (if (= 'int (type pe))
  7.            (setvar 'peditaccept pe)
  8.        )
  9.        (if (not (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*"))
  10.            (princ (strcat "\nError: " msg))
  11.        )
  12.        (princ)
  13.    )
  14.    
  15.    (setq cm (getvar 'cmdecho)
  16.          pe (getvar 'peditaccept)
  17.    )
  18.    (setvar 'cmdecho 0)
  19.    (setvar 'peditaccept 1)
  20.    (while (setq p1 (getpoint "\nPick Internal Point <Exit>: "))
  21.        (setq e0 (entlast)
  22.              el nil
  23.        )
  24.        (command "_.-boundary" "_A" "_I" "_N" "" "_O" "_P" "" "_non" p1 "")
  25.        (setq e1 (entlast))
  26.        (if (not (eq e0 e1))
  27.            (progn
  28.                (initget "Outside Inside")
  29.                (setq ch (getkword "\nOutside or Inside <Inside> : "))
  30.                (if (or (null ch) (eq ch "Inside"))
  31.                    (command "_.offset" 10.0 e1 "_non" p1 "")
  32.                    (command "_.offset" 10.0 e1 "_non" (getvar 'extmax) "")
  33.                )
  34.                (setq e2 (entlast))
  35.                (if (not (eq e1 e2))
  36.                    (progn
  37.                        (command "_.chprop" e2 "" "_LA" "0" "_C" 1 "")
  38.                        (command "_.explode" e2)
  39.                        (setq e3 e2)
  40.                        (while (setq e3 (entnext e3))
  41.                            (setq el (cons (vlax-curve-getpointatparam e3 (+ (vlax-curve-getstartparam e3) (/ (- (vlax-curve-getendparam e3) (vlax-curve-getstartparam e3)) 2.0))) el))
  42.                        )
  43.                        (mapcar
  44.                           '(lambda ( a b ) (setvar 'filletrad 10.0) (command "_.fillet" a b))
  45.                            (cons (last el) el)
  46.                            el
  47.                        )
  48.                        (command "_.pedit" "_M")
  49.                        (while (setq e2 (entnext e2))
  50.                            (command e2)
  51.                        )
  52.                        (command "" "_J" "" "")
  53.                    )
  54.                    (alert "Unable to perform offset.")
  55.                )
  56.                (entdel e1)
  57.            )
  58.            (alert "Unable to detect boundary.")
  59.        )
  60.    )
  61.    (setvar 'peditaccept pe)
  62.    (setvar 'cmdecho cm)
  63.    (princ)
  64. )
M.R。
回复

使用道具 举报

3

主题

14

帖子

11

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 08:36:28 | 显示全部楼层
太棒了,马尔科-非常感谢。
我不知道sysvar extmax。
我想我可以接受,非常感谢你们的支持-你们让我学到了很多;-)
 
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 05:02 , Processed in 0.425134 second(s), 72 queries .

© 2020-2025 乐筑天下

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