明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 无痕

[原创] !将vbscript移植到lisp!

    [复制链接]
发表于 2008-11-5 23:31 | 显示全部楼层

高手华山论剑,

不懂!!

这么多高手,还是值得一顶!!

发表于 2008-11-7 08:53 | 显示全部楼层

记号 留作以后学习,

发表于 2008-12-17 21:32 | 显示全部楼层

各位大侠: 我用获取CPUID的函数在我办公室和自己的电脑上测试了一下,不过它们是完全一样的,是函数有问题还是我的CPU有问题?不是说所有的CPU的ID都不一样么?

发表于 2010-7-14 18:30 | 显示全部楼层

shit

发表于 2010-8-29 17:40 | 显示全部楼层
学习中
发表于 2010-9-5 14:18 | 显示全部楼层
的确很精彩,借楼主宝地,提个问题,VLISP怎么实现调用MATLAB
以下是几个简单的调用调试:
  1. ;;;调用MATLAB.APP
  2. (defun ss-create-matlab-object ()
  3.   (vl-load-com)
  4.   (if (or (null ss_mat_obj) (= ss_mat_obj :vlax-false))
  5.     (setq ss_mat_obj (vlax-get-or-create-object "matlab.application"))
  6.     )
  7.   )
  8. ;;;卸载
  9. (defun ss-release-matlab-object()
  10.   (if (= ss_mat_obj :vlax-true)
  11.   (progn
  12.     (vlax-release-object ss_mat_obj)
  13.     (setq ss_mat_obj nil)
  14.     )
  15.     )
  16.   )
  17. ;(setq ss_mat_obj (vlax-get-or-create-object (findfile "c:\\matlab701\\toolbox\\modelsim\\win32\\matlablink.dll")))
  18. ;;;ss-matlab-execute
  19. ;;;功能:调用MATLAB EXECUTE功能
  20. ;;;str1 Malab中的参数执行语句,一般为参数式函数
  21. ;;;str2 Malab中的显示执行语句,语句含义参考Matlab,如上述例题中保存在C盘的test.jpg
  22. ;;;Uility 显示完后是否关闭,
  23. ;;;Written By GSLS(SS) 2010-07-25 4:45
  24. (defun ss-matlab-execute(str1 str2 uility /)     
  25.   (vlax-invoke-method ss_mat_obj 'MinimizeCommandWindow)
  26.   (vlax-invoke-method ss_mat_obj 'Execute str1)
  27.   (vlax-invoke-method ss_mat_obj 'Execute str2)  
  28.   )
  29. ;;;显示正弦曲线
  30. (defun c:t1 (/ str str1)  
  31.   (setq str  "t=1:0.1:2*pi;y=sin(t);plot(t,y)"
  32. str1 "print( gcf, '-djpeg', 'c:\foo')"
  33.   )
  34.   (ss-create-matlab-object)
  35.   (ss-matlab-execute str str1 nil)
  36.   (gc)
  37.   (princ)
  38. )
  39. ;;;显示3维扇形图
  40. (defun c:t2 (/  str str1)  
  41.   (setq str  "sale=[100 150 400 250];pie3(sale,[0 0 1 0],{'春季','夏季','秋季','冬季'})"
  42. str1 "print( gcf, '-djpeg', 'c:\foo')"
  43.   )
  44.   (ss-create-matlab-object)
  45.   (ss-matlab-execute str str1 T)
  46.   (gc)
  47.   (princ)  
  48. )
  49. ;;;显示三维螺旋线图
  50. (defun c:t3 (/  str str1)  
  51.   (setq str  "t=0:0.1:8*pi;plot3(sin(t),cos(t),t)"
  52. str1 "print( gcf, '-djpeg', 'c:\foo')"
  53.   )
  54.   (ss-create-matlab-object)
  55.   (ss-matlab-execute str str1 T)
  56.   (gc)
  57.   (princ)  
  58. )
  59. ;;;显示立体球图
  60. (defun c:t4 (/  str str1 uility)  
  61.   (setq str  (strcat "k = 5;n = 2^k-1;[x,y,z] = sphere(n);c = hadamard(2^k);surf(x,y,z,c);" "colormap ([1  1  0; 0  1  1]);axis equal")
  62. str1 "print( gcf, '-djpeg', 'c:\foo')"
  63.   )
  64.   (setq uility T)
  65.   (ss-create-matlab-object)
  66.   (ss-matlab-execute str str1 uility)
  67.   (gc)
  68.   (princ)  
  69. )
  70. ;;;显示立体波浪图
  71. (defun c:t5 (/  str str1 uility)  
  72.   (setq str  "[X,Y,Z] = peaks(30);surfc(X,Y,Z);colormap hsv;axis ([-3 3 -3 3 -10 5])"
  73. str1 "print( gcf, '-djpeg', 'c:\t4')"
  74.   )
  75.   (setq uility T)
  76.   (ss-create-matlab-object)
  77.   (ss-matlab-execute str str1 uility)
  78.   (if uility (princ)
  79.     (gc)
  80.     )
  81.   (princ)  
  82. )
发表于 2010-9-5 14:22 | 显示全部楼层
问题来了,假设要调用MATLAB的矩阵求逆函数inv,那数组如何传递和接收呢;想了很久,没有解决
  1. ;;;考虑vba方法接收传递,未解决
  2. ;;;尝试获取MATLAB矩阵数据
  3. (defun ss-matlab-GetFullMatrix(MatrixName  / dims Mreal Mimag Mrl Mil)  
  4.   (vlax-invoke-method ss_mat_obj 'GetFullMatrix MatrixName Mreal Mimag)  
  5.   (setq Mrl (vlax-safearray->list (vlax-variant-value Mreal))
  6. Mil(vlax-safearray->list (vlax-variant-value Mimag)))  
  7.   Mrl
  8.   )
  9. ;;;尝试发送Matlab矩阵数据
  10. (defun ss-matlab-PutFullMatrix(MatrixName Matrix)  
  11.   (setq dims (length (car Matrix)))  
  12.   (setq Mreal (vlax-safearray-fill (vlax-make-safearray vlax-vbDouble  (cons 1 dims) (cons 1 dims)) Matrix)
  13. Mimag (vlax-make-safearray vlax-vbDouble (cons 1 dims) (cons 1 dims)))
  14.   (vlax-invoke-method ss_mat_obj 'PutFullMatrix MatrixName "Base" Mreal Mimag)
  15.   )
发表于 2010-10-6 15:20 | 显示全部楼层
为什么不直接用VB写成dll?
发表于 2011-3-9 15:42 | 显示全部楼层
学习!
发表于 2011-3-20 11:30 | 显示全部楼层
看看
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 18:09 , Processed in 0.484178 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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