明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: zdqwy19

lisp跨图操作

  [复制链接]
 楼主| 发表于 2012-10-24 12:01:35 | 显示全部楼层

RE: lisp跨图操作

自贡黄明儒 发表于 2012-10-24 10:36
用vla-函数,可以操作

不能吧,切换不过去
 楼主| 发表于 2012-10-24 12:53:35 | 显示全部楼层

RE: lisp跨图操作

自贡黄明儒 发表于 2012-10-24 10:36
用vla-函数,可以操作

Vba也不能够
发表于 2012-10-24 15:37:58 | 显示全部楼层
zdqwy19 发表于 2012-10-24 12:53
Vba也不能够

参见http://bbs.mjtd.com/thread-96543-9-1.html
91楼
 楼主| 发表于 2012-10-24 18:35:18 | 显示全部楼层

RE: lisp跨图操作

自贡黄明儒 发表于 2012-10-24 15:37
参见http://bbs.mjtd.com/thread-96543-9-1.html
91楼

我的跨图操作指的是一个程序在所有打开的图纸中可以任意选择对象,获取参数,不要借助复制粘贴。
发表于 2012-10-24 21:23:48 来自手机 | 显示全部楼层
zdqwy19 发表于 2012-10-24 18:35
我的跨图操作指的是一个程序在所有打开的图纸中可以任意选择对象,获取参数,不要借助复制粘贴。

lisp 不能跨图操作,但可以将变量通过黑板变量空间跨图传递,也可以传递到粘贴板!不知道你的跨图操作是如何操作,你表述不清楚,我无法理解!方法我已提供,你自己思考吧!
 楼主| 发表于 2012-10-25 00:25:32 | 显示全部楼层

RE: lisp跨图操作

Gu_xl 发表于 2012-10-24 21:23
lisp 不能跨图操作,但可以将变量通过黑板变量空间跨图传递,也可以传递到粘贴板!不知道你的跨图操作是如 ...

我一张图中绘图,尺寸、坐标等数据在另一张图纸中以文字形式存在。我在需要绘图的图纸上输入命令,然后在另一图纸上选择文字对象即可完成尺寸、坐标的输入。
发表于 2012-10-25 10:07:03 | 显示全部楼层
zdqwy19 发表于 2012-10-25 00:25
我一张图中绘图,尺寸、坐标等数据在另一张图纸中以文字形式存在。我在需要绘图的图纸上输入命令,然后在 ...

给个简单示例:
  1. (defun c:tt()
  2.   ;;同时打开aa.dwg 和 bb.dwg,aa.dwg保存数据,bb.dwg作图,在bb.dwg上运行该程序
  3.   (setq docs (vla-get-Documents (vlax-get-acad-object))
  4. doc1 (vla-get-ActiveDocument (vlax-get-acad-object))
  5. )
  6.   (vlax-for doc docs
  7.     (if (= "aa" (VL-FILENAME-BASE (vla-get-FullName doc)))
  8.       (setq doc2 doc)
  9.       )
  10.     )
  11.   ;;开始绘图
  12.   (princ "\n请切换到bb.dwg选择坐标文字,返回后任意键继续:")
  13.   (command pause)
  14.   (command "_line")
  15.   (setq ss (vla-get-ActiveSelectionSet doc2))
  16.   (vlax-for obj ss
  17.     (if (= "AcDbText" (vla-get-ObjectName obj))
  18.       (command "_non" (vla-get-TextString obj))
  19.       )
  20.     )
  21.   (command "c")
  22.   (vla-delete ss)
  23.   (princ)
  24.   )




本帖子中包含更多资源

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

x
 楼主| 发表于 2012-10-25 20:38:49 | 显示全部楼层

RE: lisp跨图操作

Gu_xl 发表于 2012-10-25 10:07
给个简单示例:

我的Cad2013运行出错,我总觉得2013有问题,在Vba编辑器界面运行Vba代码始终显示忙,谢了!我在两张图纸同时运行同一个程序,用Vl-propagate传递变量,勉强凑合。
发表于 2012-10-28 01:30:03 | 显示全部楼层
不可能实现,只能通过中间文件传递数据,一切绘图绘表成果完全可以依据中间数据,出发点在原始数据。
 楼主| 发表于 2012-10-28 09:32:42 | 显示全部楼层

RE: lisp跨图操作

linshiyin2 发表于 2012-10-28 01:30
不可能实现,只能通过中间文件传递数据,一切绘图绘表成果完全可以依据中间数据,出发点在原始数据。

看cad二次开发介绍,arx可以,学不来了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-26 12:31 , Processed in 0.179530 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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