测量AutoLISP函数
我在AutoCAD中合并并创建了许多用于测量的LISP函数。我一直想和大家分享,就这样吧。许多函数引用了其他函数。我使用了命名方案:
mfcb*用于我的函数CBass(me)
mfcbLM为我的功能李麦克(因为他是可怕的)
其中许多职能是其他人的工作,我已根据自己的需要对其进行了修改。按你认为合适的方式使用它们。享受
AutoCAD块
编辑:次要文本修复。很抱歉。
编辑2:优化。
Edit3:优化和错误修复。
Edit4:更多优化和一些新功能。
Edit5:优化SPL函数。
Edit6:修复c:最近(iNdx导致无限循环)。
Edit7:使用c:MASK命令修复了多个选择(忘记了nil扩展数据,这将出错)。
Edit8:格式化基准。lsp的可读性。
Edit9:修改扩展数据函数以保留其他应用程序扩展数据。为功能创建菜单。
Edit10:添加了到AutoCAD块的dropbox链接。
基准lsp
点代码列表。txt文件
阿卡多克。lsp
全局函数。LSP
菜单拉链 有很多工作,只有一个建议,我们有我们的层设置在一个txt文件,而不是在代码内,更容易编辑。只需在需要时读取txt文件,使用csv文件查看lee mac parse csv。lsp。尝试重命名acaddoc。lsp至autload。lsp确保其在默认路径中,您可能会感到惊讶,而不是使用默认的acaddoc。lsp名称。
我没听说过自动装弹。lsp文件。我知道其他人,但不知道那个。你有什么地方可以解释吗?我很难找到关于那个文件的任何信息,搜索失败了。 这只是自动加载lisp文件的另一种方式,但不需要称之为acaddoc。lsp,所以它就像您自己公司的lisp文件,另一种方法是在acaddoc中加载(加载“mycompanylisp”)。lsp,其他第三方可能会制作不同的acaddoc。lsp并将其引入,因此发生冲突。
另一个问题是,你有很多小defuns来插入块,你使用这个是因为你没有能力读取/导入测量数据、字符串和自动插入块?比如CIV3d等等。有很多方法可以解决这个问题。你也看过工具选项板或菜单吗。 我们使用Carlson处理积分。我不喜欢在点上使用符号,因为我对表示的控制较少,我希望能够将代码与基本AutoCAD一起使用(而不是Civil或Carlson或其他任何东西)。主要的一点是,您可以在不购买其他软件的情况下使用AutoCAD。目前,它是用Carlson为points编写的,但创建自己的插入例程是一个小改动(我有代码,但没有合并)。 这就是我所想的,为什么你不使用“点”并利用描述符,我在这里说的是普通的autocad,插入一个新的块,利用自动读取描述符的优势。
例如10111234.562345.78,12.34,树1 6
ptnum x,y,z描述
Tree 1 6描述是一个Tree 1 trunk 6扩展。我的树块是一个动态块。 我更新了这些函数以考虑更多的错误处理,并添加了一些新函数(在使用注释性样式时覆盖DIMSCALE)。我想了解任何请求、修改或修复。 如果有人能看看我的c:SPL函数,并提出一种更快的方法,我将不胜感激!现在,超过几千分似乎需要很长时间。也许将foreach更改为(mapcar’(lambda(x))y)? 对于任何关心我的人,我找到了为什么我的c:SPL函数很慢的原因。在GlobalFunctions中,它被称为mfcbLayAlter。lsp更改每个点(好),它调用mfcbLayCreate以确保图层在图形中(好),但在其中它调用了regen函数(坏)。因为它要做1000多个点,所以它要重新绘制1000多次(非常非常糟糕)。我从mfcbLayCreate中删除了regen,速度大大加快。 我已经为其他人创建了一个菜单。使用CUI命令加载并根据需要重命名菜单。
页:
[1]