乐筑天下

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

请大佬帮忙看一下,运行过程中出错,不知是哪里问题

[复制链接]

1

主题

3

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-14 16:02:00 | 显示全部楼层 |阅读模式
刚接触lisp不知如何解决,请大佬给与指点!!

此lisp得思路图解

acc5ck10pq3.png

acc5ck10pq3.png

在运行中偶尔会出错

ivr1rp50u3d.png

ivr1rp50u3d.png

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

93

主题

786

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1153
发表于 2022-7-14 16:17:00 | 显示全部楼层
关闭osmode最后再恢复
回复

使用道具 举报

11

主题

284

帖子

30

银币

后起之秀

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

铜币
309
发表于 2022-7-14 16:20:00 | 显示全部楼层
;是对象捕捉的问题吧,使用时把对象捕捉关掉程序开头添加
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
;........程序段
;程序尾部添加
(setvar "osmode" oldos)
回复

使用道具 举报

67

主题

504

帖子

696

银币

中流砥柱

Rank: 25

铜币
757
QQ
发表于 2022-7-14 19:45:00 | 显示全部楼层
;画砖砌墙+垫层
(defun C:NM (/ bb2 hh hh2 lst pa1 pa2 pa3 pt1 pt2 pt3 pt4 pt5 pt6 pt7 pt8 pt9 qq ww)
        (setvar "cmdecho" 0)        
        (setq qq (getreal "\n输入墙宽"))
        (setq ww (getreal "\n输入墙高"))        
        (setq hh (getreal "\n输入放脚"))
        (setq hh2 (getreal "\n输入垫层放脚:"))        
        (setq bb2 (getreal "\n输入垫层厚度:"))
        (setq pt1 (getpoint "选取墙中心点")
                pt2 (polar pt1 pi (/ qq 2))
                pt3 (polar pt2 (* 270 (/ pi 180)) ww)
                pt4 (polar pt3 pi hh)
                pt5 (polar pt4 (* 270 (/ pi 180)) (* hh 2))        
                pt6 (polar pt5 0 (+ (* 2 hh) qq))
                pt7 (polar pt6 (* 0.5 pi) (* hh 2))
                pt8 (polar pt7  pi hh)
                pt9 (polar pt8  (* 0.5 pi) ww)                 ;-------------计算墙体所有点
        )
        (setq pa1(polar pt5 pi hh2)
                pa2(polar pt6 0 hh2)
                pa3(polar pa2 (* 1.5 pi) bb2)  ;-------------计算垫层对角点
        )        
        (vl-cmdf "_RECTANG"  "_non" pa1 "_non" pa3) 画垫层
        (setq lst(list pt2 pt3 pt4 pt5 pt6 pt7 pt8 pt9 pt2)) 墙体点列表
        (entmake(append(list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline")(cons 90 (length lst)))(mapcar '(lambda (pt)(cons 10 pt)) lst)))
        (vl-cmdf ".-HATCH" "S" (entlast) "" "P" "ANSI31" "10" "0" ""); "LA" "0" "")  ;墙体填充 有必要可以启用指定图层 "LA" "图层名字"
        (setvar "cmdecho" 1)
        (princ)
)
回复

使用道具 举报

1

主题

3

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-14 20:03:00 | 显示全部楼层

大佬,牛啊
回复

使用道具 举报

1

主题

3

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-14 20:05:00 | 显示全部楼层

好的
谢谢
回复

使用道具 举报

26

主题

107

帖子

9

银币

后起之秀

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

铜币
210
发表于 2022-7-19 11:17:00 | 显示全部楼层
把常用的砖砌体做成块,进行调用如何呢?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 01:24 , Processed in 2.044074 second(s), 72 queries .

© 2020-2025 乐筑天下

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