samifox 发表于 2022-7-5 23:10:52

Autolisp与现代API#039;s

李(我的Lisp程序的弥赛亚)说:后#16
 
我想知道我选择了哪条路。我知道所有可用的学习曲线,但我选择了autolisp,因为它不需要编译,所以scipts可以随时编写。
 
现在我问自己,如果我可以直接跳转到像ObjectARX或这样的现代API,为什么我要使用这个星球上最原始的语言呢。网络?
你问过自己那个问题吗?

David Bethel 发表于 2022-7-5 23:16:32

#1 Autolisp无论如何都不是基元。
 
#2今天最伟大的转变很快变成了垃圾Fortran Pascal Basic VBasic都是“最伟大的”
 
#3投资回报?它甚至都不接近。这甚至不可比。

samifox 发表于 2022-7-5 23:24:51

 
#1.一个人如何定义一种语言是否如你所见是前置词?
 
#2 ?
 
#3 ?

BlackBox 发表于 2022-7-5 23:28:24

 
我理解您的来历,但觉得您可能无意中误解了某些上下文,以及AutoCAD API背后的意图。。。每个都有自己的能力、规则、重叠区域,甚至权衡。。。有这么多API的原因是没有一种适合所有人的方法。为了确定你应该走哪条路,仔细看看你的发展目标是什么。
 
最近有一系列DevBlog文章,您可能会发现它们很有趣,标题是“适合工作的正确工具”。
 
不久前,我从基本按钮宏开始,然后是AutoLISP。从那以后,我很快就学会了使用Visual LISP(ActiveX COM)。尽管VBA也是ActiveX COM API,这似乎是其固有表单功能的下一个逻辑步骤(而不是学习DCL),但我还是跳到了。NET API。我最初是从VB开始的。NET,因为我觉得它更“可读”,就像我的Visual LISP代码一样,并慢慢开始学习C。NET(与VB.NET相同的API,不同的语言语法),并没有回头看。。。现在,我所有的Autodesk Exchange应用程序都是用C语言编写的。
 
我进入的原因。NET非常简单;我想访问未暴露于LISP的AutoCAD和Civil 3D API功能。
 
我仍然每天使用LISP进行CAD制作,并且经常跳进VLIDE以“编写脚本”。。。我只会跳进Visual Studio(一种.NET IDE)来完成更大的任务,尤其是那些旨在扩展AutoCAD功能以完成今天无法完成的任务的任务,或者是那些即使高效编写LISP代码也可能需要几分钟的极其密集的任务,例如。NET API天生就更快。
 
... 我的0.02美元
 
 
 
干杯

samifox 发表于 2022-7-5 23:35:06

 
我理解一个API如何比另一个更好地完成某些任务,但当我们谈论Autolisp时,有一种感觉,在VisualLisp、VBA等之前,它是多年来的默认选项。
 
我还承认,使用autolisp编写每日例程的好处是,无需繁琐的编译过程和与不同环境的交互。
所以你们实际上是说,在学习像现代API这样要求更高的东西之前,Autolisp是至关重要的第一步。?这不是一个加号,它是编程autocad的基础。?
 
想知道autolisp没有接触到的东西吗?我认为visualisp可以访问模型树中的所有内容,不是吗?
 
谢伊

Bhull1985 发表于 2022-7-5 23:36:14

是的,visual lisp可以访问AUTOCAD模型,但C#。NET代码可以访问的不仅仅是AutoCAD项目。
例如,可以在autocad内部单击鼠标右键,它将弹出一个快捷菜单。
据我所知,Lisp无法轻松地将项目添加到这个右键单击快捷菜单中。
然而,C#。NET代码可以将项目添加到此快捷菜单中,正如BlackBox的一些应用程序所示。恰当地命名为“Right-click-XXXXX”
这只是一个例子,但我认为它充分解释了BB所说的,实际上。
如果您只是想让autocad成为比autolisp更好的程序,那么autolisp并不是最好的程序(因为这完全取决于您的喜好),但autolisp完全能够完成人类手动完成的大多数任务,只是速度要快得多。这是autolisp的优点之一,事实上,每个函数都包含在一个前提中,即该函数实际上将充当手动获取数据的“快捷方式”。
 
所以,对我来说,这就是为什么我跳进了lisp,并一直留在那里(现在和可预见的未来),是因为有很多东西需要学习autolisp,特别是因为在开始使用autolisp之前,我几乎没有任何语言的编码经验。语法、结构、函数、括号匹配、变量等都是我大脑需要吸收的全新信息。尽管今天我认为自己是一名称职的autolisp程序员,但仍有很多需要学习的地方。我的公司当然相信这一点,我很高兴能在LISP中获得更多经验,因为它将对我的职业生涯产生巨大影响,顺便说一句,对我的生活也会产生巨大影响。限制完全取决于我自己,我个人想走哪条路。
 
但是我知道我将在autolisp工作很多年,因为它可以做我和我的公司所需要的一切——当出现autolisp无法有效处理的问题时,我只会考虑使用另一种语言。这里我想到了两句俗语。“如果它没有坏,就不要修理它。”“当我到达它的时候,我会跨越这座桥”,这意味着现在,最好只是继续改进autoLISP,因为停止使用我已经学到的东西并重新开始整个学习曲线是愚蠢的,出于什么目的?说我很酷,用最新的语言编写代码,而这些语言在未来几年可能会过时(正如大卫·贝瑟尔早些时候提到的那样)?考虑到LISP并没有冒犯我,我不想冒这个险。我需要它做的任何事情都没有失败。。。。这是一个知识中心。这些论坛、代码本身和autocad-当然这足以让你忙起来,它让像李这样的人忙起来了!
 
我理解blackbox的选择和推理,我不相信他们与我在这里所说的任何事情相矛盾。对我来说,这只是说不同的偏好,不同的需求。BB最近(或不是最近)学会了在中编写应用程序。NET,他可以放在autodesk网站上,并获得对其辛勤工作的补偿,他创建了(或步入)一个利基,如果我们选择采取这一步骤,它对我们所有人开放。
 
但对我来说,我会继续努力,这样我就可以通过autoLISP、vanilla和visual超越“Competable”,获得“MACSTER”的地位。(看我在那里做了什么?)
 
 
p、 很抱歉,我在这些论坛上的时间不足以代表我以外的任何人

BlackBox 发表于 2022-7-5 23:41:48

 
我认为我们对LISP有着相似的看法,但我想说的是,LISP只是AutoCAD开发中一个流行的入口点(有充分的理由)。。。LISP可能不是至关重要的,也不是默认的,但它肯定是我自己对AutoCAD对象模型理解的一个组成部分,只要将LISP定义为文档级语言即可。
 
两种常见的途径是,1)学习自动化任务等的CAD生产用户,以提高生产效率(这是我自己的途径),以及2)正式开发人员,他现在开始为AutoCAD产品编码。
 
对于前者,甚至可能需要花费大量时间来掌握诸如对象、属性、方法和事件之类的开发概念,然后这些概念才能对一个人的生产力产生深远的影响。这一切都取决于人,取决于他们学习新事物的能力,一个人的导师的素质有很多值得一提的地方。特别是在LISP领域,我们是一个幸运的社区,有这样的导师。
 
然而,后者往往已经牢牢掌握了上层开发概念、类/类型、转换、事务、异常和事件处理等,但仍需要学习AutoCAD对象模型。
 
我的学习。NET纯粹是出于好奇。。。总的来说,我对开发是如此的陌生,之前我甚至没有意识到自己在这方面有天赋,所以我学习其他语言只是为了测试自己的极限。学习多种语言只是肯定了我对LISP优雅的欣赏,并进一步有益于我的日常生产,以及我在其他方面提供创造性创新的能力。我不是专家,但我不会放弃任何一种API,坦率地说,因为学习在适当的时间使用每种API都会产生倍增效应(即使用.NET扩展LISP API等)。可以说,我在Autodesk Exchange的一些工作只是对onion的另一层自我检查,我很幸运在此过程中有机会帮助他人。
 
同样,每种方法都有各自的优缺点,并且可以用于特定目的。。。清楚地确定什么最有效地满足您的需求是您的任务。不要忘记,选择你感兴趣的东西是有价值的。
 
 
 
有很多API特性甚至还没有暴露在Visual LISP中;但话说回来,并不是所有的东西都暴露在环境中。NET API,因此DllImport、PInvoke等。

David Bethel 发表于 2022-7-5 23:49:39

基本体:
 
同义词
1, 2. 史前,原始,原始,原始,原始,原始,土著,远古
 
虽然基于旧平台,但只有少数增强功能无法通过滚动自己的功能实现。
 
 
 
对于语言原语:
 
http://en.wikipedia.org/wiki/Language_primitive
 
汇编语言就属于这一类
 
 
关于高级编程:
 
http://en.wikipedia.org/wiki/High-level_programming_language
 
一次可以控制Autolisp中的堆和堆栈空间。再也不会了

samifox 发表于 2022-7-5 23:53:27

让我们面对现实吧,伙计们,我们都有着同样恶劣的幻想,在每个人之后至少4个小时来上班,喝下你的第一杯咖啡,让autocad为你起草、计算、发布、绘制和发送电子邮件,所有这一切都在不到15分钟的时间内完成,然后你站起来,对老板说,祝你有一个愉快的一天,先生,去你的家,和你的孩子一起玩,从此过上幸福的生活,
 
现在谁说我在做梦?

BIGAL 发表于 2022-7-5 23:56:25

你一直在看我工作吗?现在她21岁了,婴儿的借口有点难理解。
 
我的0.05美元
 
一个简单的问题用lisp语言画一个矩形图几行。网
页: [1] 2
查看完整版本: Autolisp与现代API#039;s