乐筑天下

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

[编程交流] 在Draftsight中进行抵消。

[复制链接]

4

主题

10

帖子

6

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-9-29 05:29:34 | 显示全部楼层 |阅读模式
大家好,我发现了另一个问题,我觉得我处理起来有点力不从心。我的雇主在他们的电脑上使用Draftsight,但我在我的个人笔记本电脑上写下了我的代码,我有Autocad(学生许可证)。我使用visual studio代码插件快速调试。
问题是Draftsight和Autocad在lisp解析方面有很多不同,我觉得理解它们需要对计算机科学有我所没有的理解。
无论如何,我目前的问题是,我们使用一个命令来为在数控机床上切割的工件添加偏移量。命令需要:

-忽略“cabinet”层
-偏移到所有边缘外侧3/16“
-将最后一行放在“CNC”层

在Autocad中,这很好:
  1. (defun c:cnc ( / p b l )
  2.   (setq b (sl:boundary))
  3.   (command "offset" "3/16" b '(0.0 0.0 0.0)"")
  4.   (vl-cmdf "erase" b "")
  5. )
  6. (defun sl:boundary ( / p g n e)
  7.   (setq g 0
  8.         e (cdr(assoc -1(entget (entlast))))
  9.         l (getvar 'clayer)
  10.   )
  11.   (while (= g 0)
  12.     (setq p (getpoint "Select center of object"))
  13.     (vl-cmdf "_.-layer" "freeze" "cabinet" "set" "cnc" "")
  14.     (vl-cmdf "boundary" "a" "i" "n" "+x" "" p "")
  15.     (vl-cmdf "_.-layer" "thaw" "cabinet" "set" l "")
  16.     (setq n (cdr(assoc -1(entget(entlast)))))
  17.     (cond ((not(equal e n ))(setq g 1)))
  18.   )
  19.   n
  20. )
我向点偏移'(0.00.00.0),因为该点永远不会在其中一个形状内),
在Draftsight中,此命令总是按偏移工具使用的最后一个距离偏移“边界”线,而不是3/16“。我唯一能防止这种情况发生的方法是接管放置步骤。

  1. ...
  2. (command "offset" "3/16" entity pause)
  3. ...
然而,这严重限制了该工具的效率和缩放能力(我想在将来的某个时候制作一个版本,它可以为带有“cnc”标签的所有形状实现这一点,但让它工作起来似乎是重要的第一步)。
我很高兴能用ActiveX解决这个问题,但Draftsight缺少了很多这样的语句。
此外,我注意到在尝试修复这个问题时,我完全破坏了该工具的功能,让用户在丢失闭合形状后重试,所以这也太糟糕了。

回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 01:25 , Processed in 0.135568 second(s), 54 queries .

© 2020-2024 乐筑天下

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