乐筑天下

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

[编程交流] Autolisp初学者

[复制链接]

3

主题

14

帖子

11

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 09:09:37 | 显示全部楼层 |阅读模式
大家好,
 
我现在已经编写了一些基本的autolisp程序,以测试我到目前为止学到的知识。我最新的一个是绘制房子的轮廓,用户输入房子的宽度和屋顶的斜度。
问题是,对于这个程序和我编写的其他程序,当我运行它时,它偶尔会出错。例如,有时它会错过绘制一些线,或者它们将位于错误的位置。
如果每次都发生这种情况,那么显然程序中存在问题。但随机发生是我无法理解的。
这对初学者来说很常见吗?
 
谢谢
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 09:37:14 | 显示全部楼层
听起来你需要自己编写一份用户程序手册,记录正在使用的变量在哪里并保持一致。让一个变量在一个程序中成为字符串,在另一个程序中成为实数并不太好。它会崩溃,与选择集一样,如果你试图再次使用相同的命名变量,它会出错。
 
您需要找出哪些步骤组合会导致崩溃。有时,这是一个真正的错误,可能是当时绘图的缩放因子,这是一个拉毛问题,但一旦你知道了,你可以解决它。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 10:09:19 | 显示全部楼层
 
您应该在例程中的命令“_.line”或“_.polyline”之前关闭osnap。
 
例如
  1. (setq os (getvar 'osmode))
  2. (setvar 'osmode 0)
  3. .....
  4. ... your commnads and codes here
  5. .....
  6. ..
  7. then we reset the osmode as it was before
  8. (setvar 'osmode os)

 
如果使用entmake(x)而不是命令调用,则可以避免osmode设置:眨眼:
 
塔瓦特
回复

使用道具 举报

3

主题

14

帖子

11

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 10:27:28 | 显示全部楼层
谢谢你们的快速回复。
我确实知道OSNAP会影响线的放置,我很确定我在打开和关闭OSNAP时会遇到这个问题。但我只是一次又一次地测试我的程序,每次我用osnaps在线运行时都会出错,反之亦然
 
干杯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 05:27 , Processed in 0.392615 second(s), 60 queries .

© 2020-2025 乐筑天下

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