找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 544|回复: 1

[讨论]:MicroStation所具有的开发形式

[复制链接]
发表于 2002-6-18 13:27:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
1. UCM — 用户命令语言
2. MicroCSL — MicroStation用户支持库
3. MDL — MicroStation Development Language
4. MicroStation BASIC
5. JMDL
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-6-18 13:46:14 | 显示全部楼层
响应一下: 从V8开始支持VBA开发了!

下面另附一篇相关内容的文章:(不过文中没有提及JMDL和VBA)

MicroStation是一套功能很好的CAD软件,但毕竟它只是一套提供很多良好的基本功能的系统, 对于各行各业的专业应用,它绝对无法全部满足,也因此它提供了几种开发工具,让 使用者能跟据自己需求, 发展出各行各业的专业应用程序,如现在于MicroStation上执行的 数百个应用程序,都是以其提供的开发工具完成的, 由于其基本功能很完善,要在其上开 发应用程序就变的很简单,例如我们要以一任意多边形切取其内的图形, 此功能由于 MicroStation原来就有,只要叫用即可,因此程序很简单,但此功能在某些CAD系统无法作到, 如要作此功能则已经可以是一个商业产品,可见其开发的难易差别。

MicroStation提供的开发工具至目前为止共有下列四项,分别为UCM,CSL,MDL以及BASIC,各工具介绍于下:

MDL与MicroCSL最大不同在于MicroCSL是传统的Sequencial call的方式执行,即自程序开始到结束,它是循序执行,而MDL是一个EVENT DRIVEN方式的程序,它有许多进入点,视使用者的操作决定进入点,使用者也可透过对话盒与程序沟通,对写过windows程序者应该没什么困难。MDL共提供四千多个功能,所有MicroStation可作的事都可以直接以MDL的functionCALL来达成,因此目前有数百种各行各业的专业应用程序于MicroStation上,已经大多改成MDL或直接以MDL撰写的,目前已少有使用MicroCSL者。

UCM为最早期的开发工具,由于MicroStation最早期是为解决Intergraph系统硬件太贵, 而于较便宜硬件上以仿真Intergraph的IGDS系统而开发的,因承袭以前Intergraph的IGDS, 为了与IGDS能兼容,因此一开始就使用IGDS的发展工具UCM及CSL,UCM语法简单,学习很快, 但不易发展较大的应用程序,作些辅助的小工具倒很容易,因此较适合将某些自己特有的程序, 或重复性高且直接以MicroStation可完成但需很多操作步骤的工作,直接以UCM将这些步骤组合成一个程序, 然后以简单的指令即可完成平常要花很多步骤操作的工作。

其语法如下

[标签:]
[动作]
[操作数]

P1
K1
EXITUC
SET
KEY
CMD
GET
SET
SET
MSG
A0=A1+A2
*PLACE LINE*
PSHAPE
P,P1,K,K1,R,EXITUC
I0=XUR
C1=KEY
*PRPROGRAM END

可以发觉其语法简单,一行只作一件事,因此即使没程序经验者,只要逻辑观念好,也可学习,缺点就是开发大型程序时变得很麻烦,因此常以它来开发些小工具。但自MicroStation95后,Bentley另提供了BASIC的开发工具,希望将来能取代UCM这种工具,但它永远还是接受UCM的,以便和以前兼容。

CSL为原先IGDS另一开发工具,在MicroStation称为MicroCSL,它是提供一个链接库,内有许多子程序,可作各种MicroStation指令所对应的动作,而因其提供链接库,使用者可以C或FORTRAN语言来撰写自己的应用程序,需要将数据写入、读出或执行MicroStation的动作时,则直接叫用其提供的各功能子程序,因此开发应用程序时也很简单,如使用者先前已有以C或FORTRAN撰写的应用程序,只要将有关作图方面改叫用其子程序即可,但使用者需自备编译器及连接器(Compiler and Link),为与其链接库兼容,在PC上其指定编译器需使用High C,Microsoft C,Microsoft FORTRAN。在UNIX机器则为CC。

在MicroStation V4.0以前,大部分的应用程序都以MicroCSL开发,但从V4.0开始,MicroStation全面使用标准GUI接口后,MicroCSL在GUI接口下直接与MicroStation沟通有很多困难,因此它于4.0推出时,也同时推
出了新的开发工具MDL,它是一个C(部份C++)语法的开发工具,使用者不必另外购买其它编译器及连接器,而是MicroStation的标准内含程式。使用者如在以往以MicroCSL的C语言撰写的程序,加以修改即可成为MDL程序,然后以其提供的编译器及连接器,就可产生.ma的档案。以MDL写的程序,在其它工作平台(plateform - 目前MicroStation有10种以上的plateform版本)上只要在写程序时稍加注意,如PC和UNIX使用的目录符号不同,以及很少数的不同点外,皆可通用,但需于那个工作平台上重新编译和连接,写程序时可以用如下语法,

#if defined (msdos) || defined (winNT)
# define Separator '\'
#elif defined (unix)
# define Separator '/'
#elif defined (macintosh)
# define Separator ':'
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 05:52 , Processed in 0.343331 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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