明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1136|回复: 8

请大侠帮忙

[复制链接]
发表于 2011-2-10 19:03 | 显示全部楼层 |阅读模式
我用lisp写了一个图框程序,但是弄不了反应器和回调函数,请各位大侠帮帮忙!!

本帖子中包含更多资源

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

x
发表于 2011-2-10 20:08 | 显示全部楼层
本帖最后由 Gu_xl 于 2011-2-10 20:09 编辑

  1. ;;;插完图框后立即使用如下语句,添加反应器
  2. (vlr-pers (VLR-Object-Reactor (list (vlax-ename->vla-object (entlast))) (cdr (assoc 5 (entget (entlast)))) '((:VLR-modified . Tk-Change))))
  3. ;;;回调函数
  4. (defun Tk-Change (Object Reactor-Object Parameter-list / en)
  5.   ;;;得到图廓图元名
  6.   (setq en (handent (vlr-data Reactor-Object)))
  7.   ;;;
  8.   ;;读取图廓 en 的相关属性
  9.   ...
  10.   ;;;读取属性代码自己添加
  11.   ;;;赋值 图样代号?的属性
  12.   ...
  13.   ;;;属性赋值代码自己添加

  14.   )
 楼主| 发表于 2011-2-10 20:27 | 显示全部楼层
谢谢Gu_xl 版主
我试试,不懂的再来求教!!
发表于 2011-2-10 22:06 | 显示全部楼层
希望看到完整版的程序,楼主加油了,让我等不劳而获一下
 楼主| 发表于 2011-2-11 20:39 | 显示全部楼层
Gu_xl 版主;我的回调函数如下但就是不能实现功能不知是何原因
请帮帮忙!

;;回调函数
(defun Tk-Change (Object tyclm Parameter-list / en)
  ;;;得到图廓图元名
  (setq n 0)
  (setq en(vlax-ename->vla-object(handent (vlr-data tyclm))))
  (setq ename (vlax-invoke en "GetAttributes"))
  ;;读取图廓 en 的相关属性
  (REPEAT (LENGTH en)
  (if(=(vla-get-TagString (nth n ename))"图样代号")(setq tydh(vla-get-TextString (nth n ename))));;;读取图样代号属性的值
  (setq n (1+ n)))                                                             
  (setq n 0)
  (REPEAT (LENGTH en)
  (if(=(vla-get-TagString (nth n ename))"tydh")(vla-put-TextString (nth n ename) tydh));;;设定左上角图样代号属性的值
  (setq n (1+ n)))                                                             
(vla-update en)
)
发表于 2011-2-11 22:18 | 显示全部楼层
回复 董堃 的帖子

(REPEAT (LENGTH en)
==>(REPEAT (LENGTH ename)
,再试试
 楼主| 发表于 2011-2-12 06:50 | 显示全部楼层
(REPEAT (LENGTH ename)后
还是看不到反应
 楼主| 发表于 2011-2-12 06:52 | 显示全部楼层
(vlr-data tyclm)
这个位置要出错
 楼主| 发表于 2011-2-12 06:59 | 显示全部楼层
是不是要把回调函数放到acad2005.lsp中?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-15 21:36 , Processed in 0.195290 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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