乐筑天下

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

[编程交流] Lisp管理a起始poi

[复制链接]

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 09:13:03 | 显示全部楼层 |阅读模式
首先,我请其他人也对他们的经验发表评论。
 
我注意到的一件事是lisp程序作为问题的单数答案发布。但这通常只是用户为增加工作量而开发的多个例程中的一个部分。
 
我参与了一个商业Autocad附加产品,其中包含大约100个lisp程序,因此与编写代码的各种人员一起管理这个产品非常重要。
 
我的建议是,如果您要编写一套lisp,请花点时间进行规划,思考哪些代码将在多个lisp中重复,并生成一个包含此代码并通过defuns调用的公共lisp。
 
例如,当您添加对象时,通过一个查找表添加了相关层,最终用户可以更改该表以适应它们。我们编写了代码,最终用户选择了层名称。在这里的几位代码中,另一个值得注意的地方是,您需要版本号来表示CIV3d数据库将其放在自己的例程中,因此当升级发生时,添加一行代码,所有代码仍然有效。
 
另一个多亏了Alanjt的例子是一个lisp,它填充了一个拨号框用于用户输入,而不是每个程序的拨号。
 
我有图像选择2x2 3x2 4x4等,只填充正确的拨号,但只写一次。
 
今天我的时间是关于选择管道尺寸的帖子,一个完美的例子,首先将其作为一个单独的defun,在测试完成后可以保存在外面,然后可以用于更多的程序。
 
像Lee和AlanJT这样的人肯定有100个Lisp程序,你们怎么处理?你有一个常见的lisp并且经常使用defuns吗?
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 09:21:41 | 显示全部楼层
有很多方法。但在某种形式的图书馆中拥有共同的定义是一个很好的起点。不过,只有你管理这样的图书馆才行。我遇到过这样的情况,我的图书馆多年来一直在自我修改——这往往会让我“忘记”我已经拥有的东西。一个很好但被忽略了很多的东西是文档——你很容易忘记,你甚至在几年前写过这样那样的东西。但是,如果你有一个这样的通用文档,那就是简单地搜索它。李的网页就是一个例子——虽然它旨在向其他人解释他的日常工作,但为自己编写的文档可能要简洁得多。
 
我们中的一些人从90年代(有些甚至更早)开始制作Lisp,因此拥有1000个库并不罕见(也许不再使用所有库)。
 
我想做的另一件事,但通常没有时间,就是为这样的库规划一个结构。Caddons项目真的再次困扰着我,它肯定需要比目前更好的结构。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 09:35:06 | 显示全部楼层
我目前正在重新评估我当前的代码组织结构,并且非常缺乏文档。当我第一次开始开发时,我创建了一个命令,该命令将列出所有命令和defun中的一行描述。这很快就落后于我的发展。
 
我现在正处于这样一个阶段,对于初学者来说,简单地将这些文档编译成Word文档将是有利的。从那里我可以导出到HTML,但我觉得最终我想生成一个编译后的HTML(.CHM)叹气:我只是不知道我要在哪里为这一切腾出时间!?哈哈,我想这只是工作的一部分。
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 09:37:00 | 显示全部楼层
实际上,我也在为卡登做类似的事情。提取所有defuns(尤其是带有c:前缀的theose),并将其保存为代码+头中内容的描述(即参数,如果有的话)+html文件的任何前面的注释(使用带有一些被替换的标记的模板)。然后我使用HelpChm将这些html文件编译成chm,并上传到Caddons的wiki页面。虽然它只提供了一个粗略的文档起点,但大多数数据至少都在那里,因为我倾向于至少在前面的注释中描述defun,所以剩下的就是整理注释(通过面包屑系统的交叉引用由文档系统处理,由chm索引)。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 09:44:48 | 显示全部楼层
我们的“how to”目录中包含的“how to use lisps.doc”有7页长,按字母顺序排列,对每个lisp/vba的功能以及如何工作有简短的描述,下一步是添加图像(从这里开始),以便于理解多选取例程。帮助并不广泛,因为大多数人都知道他们想要实现什么以及如何实现。我们确保向新员工展示这一点,即使是老员工也需要不时提醒,这要归功于cadtutor等网站。
 
我刚从Run CMD改为lisp directory dir*开始。lsp>dirlisp/b创建dirlisp。具有lisp文件名的txt文件。
 
仅供参考,如果您编写完整的帮助手册允许。每个程序5天如果你有很多屏幕截图显示下一步要做什么,你会惊讶于它显示拾取点1 2 3 4的速度有多慢。
 
C:defuns的想法很好,在“如何”中,列出了快捷键和菜单选择选项。
 
另一件很少提及的事情是老式的屏幕菜单在左边或右边弹出$S,它可以用于用户输入,特别是在对象总是相同的情况下,并保存键入这些可以显示一些东西,但答案是内置在后面的。砖长度1 2 3 4=230 475 730等
回复

使用道具 举报

1

主题

23

帖子

22

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:53:50 | 显示全部楼层
嘿,大家好,如果是为了你正在使用的lisp,并且有一个小的描述在使用这个http://www.jefferypsanders.com/autolisp_LOADLSP.html
 
我将真实代码包装在一个vlx文件中,这样我就可以确定lsp带有子lsp和dcl文件。
对于lisp,您可以在中的“loadlsp”中看到一个带有小链接的文件夹,如果您通过“loadlsp”加载lisp,它也会启动。
 
  1. ; Merge are replace TextStyles with others present in the drawing                                                                           
  2. (defun C:mergetextstyle- ()
  3.    (load "mergetextstyle.vlx")
  4.   )
  5.    
  6. (c:mergetextstyle-)
  7. ;;;
  8. ;;;
  9. ;;;Next line auto starts the routine
  10. (c:mts)
  11. ;;;
  12. (princ)

 
 
 
格里茨·约翰
 
非母语英语
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 10:04:57 | 显示全部楼层
大家好,今天读了一篇帖子,在第一行代码中加入以下提示,以防止“加载lisp时什么都没发生”
 
(princ“\n运行类型XYZ….”)
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 10:06:58 | 显示全部楼层
这可能是一个好主意,你分享给别人的Lisp程序。虽然不是每个人都希望自己的命令行杂乱无章。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:18:26 | 显示全部楼层
你能想象如果你(或其他人)写的每一个comand都显示一条load消息吗!?英雄联盟
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 06:30 , Processed in 0.447885 second(s), 70 queries .

© 2020-2025 乐筑天下

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