明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: et27

用中文玩转AUTOCAD2004二次开发

  [复制链接]
 楼主| 发表于 2005-7-21 13:41:00 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2005-7-21 14:03:00 | 显示全部楼层
如果全变成中文的,就象写诗一样了。
再深入一点,把“=”号也翻成“等于”,“(”也叫左括号了。就成了后现代的散文了哟,配合IBM中文语音输入,哪编程就只是动动嘴的事啦.......哈哈哈......
 楼主| 发表于 2005-7-21 14:51:00 | 显示全部楼层

安装完毕后,就可以编程了,因为是在外部控制autocad,原理和VB控制AUTOCAD是相同的。
为了捕获已经打开的autocad,用一个对象来获取,“零时对象”定义成“对象”这种数据类型(核心支持库提供的),当然也可以如mccad所的用英文来做变量名,个人喜欢吧,如抓图中用dx。易语言定义方法采用表格对应,省却了关键词,
set  dx  AS new object
只需输入“dx” 和“对象”(数据类型有首拼输入法输入dx就能完成)
因为是外部控制,我假设用户在自己的窗口发命令给autocad,这个用户窗口,就是"_启动窗口",当然也可以是其他窗口或不用窗口也是可以。
流程控制“如果”看框图流线,那是y那是n,一目了然的,不用我赘述。如果获取成功,输出测试文本“获取成功”,输出测试文本是易语言带的命令,方便调试的,编译时此句不编译的。
获取采用“对象”这种数据类型下的“获取”方法,对应英文为“getobject”大家不用我说就不难理解。获取不成功就自己创建,由于前面定义了auto为一个“Acad程序”(也就是AcadApplication)看到中文的好处了吧,程序两字占的空间比“application”少吧。直接用“auto.创建()”就启动AUTOCAD了,用"auto.可视"把AUTOCAD显示出来。
为了向AUTOCAD发命令,还要抓住其当前文档,和模型空间,我们又定义了两个变量:
doc ,Acad图形文档
mo,Acad模型空间
doc=auto.获取活动图形文件() ’这样就用了“Acad程序”这种数据类型的“获取活动图形文件”这个方法,抓住了当前活动的图形,
mo=doc.取模型空间() ’抓住了该图形文件的模型空间,
这样就可以向里面画图形了。
为了画一根线,我们定义一个变量:
line , Acad直线
直线有起点、终点,易语言是强类型语言,不能象VB那样定义一个double数组就可以了,"Acad模型空间"的"创建直线"方法需要的参数数据类型为“通用”,也就是变体类型,(目前易语言没有公开“通用”这个类型,只在其核心支持库里,用户定不了,相信以后会公开的),我们定义两个变体类型变量lpt1和lpt2。
btp1.创建数组 (5, 3)  '让人不明白是5和3吧,看变体类型的帮助,就知道是创建了一个3个成员的double数组。
语法上,括号由里到外优先,编辑框2.内容是取的编辑框输入的文本,到数值 ()是把文本转成double数值,
btp1.赋值 (到数值 (编辑框2.内容), 2),就是向这个数组第二个成员存我们输入的数据.其他取数据同。

line = mo.创建直线 (btp1, btp2) ’就是在该模型空间中画条直接。

acad.Zoom范围 () ’将AUTOCAD的显示zoomEXtend.

 

mccad说用英文写习惯,大概是英文太好的原因吧。我倒觉得,开发的过程如果你用中文和数学思考,为何不直接就写出来,干吗还要在头脑里转成英文再写出来?程序语言最终高级语言都会是向自然语言发展的。

 楼主| 发表于 2005-7-21 14:56:00 | 显示全部楼层

把一句句短语不等长的排列,就叫作诗,大概世界就全是诗人了。

在我看来,所有的现代诗,都是缺乏韵味的,至多叫散句。

发表于 2005-7-22 13:06:00 | 显示全部楼层

听你说了,有所了解。
易语言也是一种编程语言,而不是寄生于其它语言的插件。
用易语言也可以做AutoCAD的二次开发,而且可以用中文编程。

这种思路 还是不错的。

Wise安装制作软件的汉化版本也实现了中文编写安装程序的功能,应该道理是相同的。

 楼主| 发表于 2005-7-22 19:44:00 | 显示全部楼层

中文编程对专业领域中二次开发的影响是巨大的,勿容置疑的是很多专业人士,阅读英文可以,但用英文写作,估计就凤毛麟角了。

随着中文编程资料的积累,很多问题根本不用去找英文资料,比如VBA这样比较面向低端编程人员的软件,即便是底层,现在也有http://www.olanguage.org/ 这样的尝试。

我相信,中文大必将兴于世界。

wise汉化的程序我没用过,但我知道易语言不是汉化的,它的支持库是一个个Dll,程序调用这些dll提供的支持接口,编译后是标准EXE文件。

 

发表于 2005-7-25 19:57:00 | 显示全部楼层

不知道楼主为什么这么推崇中文编程,我认为它只是将英文关键词换成中文关键词而已,用处还是有的,但并不没有楼主所说的那么大的意义。要说中文易于识别,该语言写出来的一个个中文词语,毫无语法可言,不见得易懂;关于英文不易识别,我觉得简单编程所涉及的英文关键词也只是少数几个很简单的单词,而且用户如果到了要编程的水平,绝对不会没有英文基础(计算机应用水平不错的用户肯定,肯定不会不识英文);还有一个问题,就是汉字输入不方便(包括全角半角标点易混淆),这一点我已经跟楼主提过,的确有些关键字在输入.(半角的.,一般中文下用全角,成了句号。可不认识)可以弹出,这一点英文版也可以做到,但是还有很多地方,比如说开头部分、括号内部分等,还是要用华输入的。

说这些,只是发表个人见解而已,请楼主不要介意。中文编程思路是好的,目前阶段也作出了较大创新,我绝对没有看低它的意思。

发表于 2005-7-25 22:57:00 | 显示全部楼层

程序语言,是比较特殊的“语言”,其写出来的句子,跟日常语言的句子往往很不一样,看到一些网友说未来语言的趋势是自然语言,并充满憧憬,我很不赞同这种看法,如果是这样的话,那是程序语言的倒退!没有学过程序语言的人有这种想法、憧憬,还情有可原,懂得基本程序语言的人还有这种想法,则有些令人费解。

写程序语言情况 有点象写数学表达式解决数学问题的情况,非常注重逻辑,用一些简单符号可以非常简洁的表达关系,用语言表达反二费力。如果把数学表达式完全用普通语言(中文也好、英文也好)表达,情况会怎样?我不说,大家应该也会知道。

程序语言对英文要求程度其实很低,对于注解部分倒是比较考验语言掌握,如果英文不好,可以用中文书写,几乎所有程序语言都会支持中文注解。在程序中引入部分中文,比如关键字、或变量名,可以提高程序的可读性,但是完全使用中文、或英文语言句子构造程序语言句子,反而会大大降低程序的可读性!许多美好的事往往是“难以言传”的。哈哈!

优秀程序语言应该 是关键字、操作符、变量/函数等名称、对齐方式 等混合使用。

发表于 2005-7-25 23:15:00 | 显示全部楼层
在程序中能够支持中文,确实是一种很好的创意,建议能够同时支持英文和中文两种格式,比如 即认可 “if”也认可 “如果”,相信会有更多人认可该语言。
发表于 2005-7-26 13:46:00 | 显示全部楼层

支持“mikewolf2k”的观点。

其实现在的英文编程,不是那么恐怖吧。

输入比较方便,还能在编程的同时,练习英语,方便。

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 05:54 , Processed in 0.154846 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表