几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(VB.NET/C#)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


 
 
主题工具 搜索本主题 显示模式
旧 2009-04-19, 09:16 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】.net:定义一个可以被lisp调用的函数

.net:定义一个可以被lisp调用的函数
www.dimcax.com
.net:定义一个可以被lisp调用的函数
.net:定义一个可以被lisp调用的函数
这里要说明的是,你需要对传入的参数进行拆箱,而对输出的结果要进行装箱。 下面演示了如何处理参数以及对结果进行装箱:
<lispfunction("lispfunction")> _
public function vbfunction(byval rbfargs as resultbuffer) as resultbuffer
'获取输入的参数...
dim arinputargs as array
dim realarg1 as double
dim intarg2 as integer
dim strarg3 as string
arinputargs = rbfargs.asarray
realarg1 = ctype(arinputargs.getvalue(0), typedvalue).value
intarg2 = ctype(arinputargs.getvalue(1), typedvalue).value
strarg3 = ctype(arinputargs.getvalue(2), typedvalue).value
'在这里做你想做的事情...
'...
'...
'对结果装箱...
'对double型使用rtreal (5001)
'对string型使用rtstr (5003)
'对整型使用rtshort (5005)
dim rbfresult as resultbuffer
rbfresult = new resultbuffer( _
new typedvalue(cint(5001), 3.14159), _
new typedvalue(cint(5003), 42), _
new typedvalue(cint(5005), "goodbye!"))
return rbfresult
end function
上面的代码假定传入的第一个参数为一实数,然后是一个整数,最后为一个字符串。下面是你在lisp中调用这段代码后的结果:
command: (lispfunction 1.234 9876 "hello!")
(3.14159 42 "goodbye!")
太好了(我还没运行程序)! 能不能定义一个被vba调用的函数呢?
cad开发爱好者
对象和选择集能做参数吗?
rtename 5006 实体名 rtpicks 5007 选择集名


1
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
 


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 04:04 PM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多