明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: nonsmall

[【不死猫】] 【原创】提供简化编程的一个思路-完美提高lisp开发效率-VBA语句的lisp解释函数

  [复制链接]
 楼主| 发表于 2008-12-6 17:19:00 | 显示全部楼层

好建议

这样会给初学vlisp的人提供很大方便

以后也可以写一个自动生成lisp代码的lisp程序

发表于 2008-12-9 09:08:00 | 显示全部楼层
 楼主| 发表于 2008-12-9 10:12:00 | 显示全部楼层

果然有人玩过

谢谢carrot1983的资料

发表于 2008-12-11 13:34:00 | 显示全部楼层
不错,严重关注中.
 楼主| 发表于 2008-12-11 15:22:00 | 显示全部楼层

感谢关注

这里分享一点经验

关于解释()里面的内容

里面可能是item的参数(参数包括实数 字符串 变量)或者是方法的参数

虽然能够完全写好判断()内到底是什么

但是不可避免使解释效率下降

为了解释较长的代码而使解释程序变的臃肿难以维护 不如多次调用

以下代码是今天的测试调整

(defun test1 ()(print "ok"))
(setq str "VL.Application.16" func "test1")

;VL对象的运行测试
(setq ob (vba "ThisDrawing.Application.GetInterfaceObject(str)"))
(vba "ob.ActiveDocument.Functions.item(func).funcall")

;item测试

(setq i 0)
(vba "thisdrawing.blocks.item(i)")
(vba "thisdrawing.blocks.item(\"a\")")
(vba "thisdrawing.blocks.item(0)")

发表于 2008-12-24 11:18:00 | 显示全部楼层
很好,学习一下,谢谢!
发表于 2010-8-23 13:31:00 | 显示全部楼层
VBA代码-->LISP转换器,则不受效率影响。能实现吗?
发表于 2010-8-23 13:51:00 | 显示全部楼层

有些可以直接用getvar函数,又何必舍近求远?!

 

(foreach a '("TEXTSTYLE"  ;当前文本样式的名称
      "CLAYER"   ;当前图层
      "CECOLOR"   ;当前颜色
      "CELTSCALE"  ;当前对象的线型比例因子
      "CELTYPE"   ;当前线型
      "DWGNAME"   ;当前图形名
           )
  (princ "\n")
  (princ (getvar a))
)

发表于 2010-8-27 10:26:00 | 显示全部楼层
虽然不懂但是觉得该支持
发表于 2010-8-29 21:37:00 | 显示全部楼层
该支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 07:38 , Processed in 0.149215 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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