明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3039|回复: 11

怎样让Lisp编程实现:标注尺寸时的拖动效果?

  [复制链接]
发表于 2002-9-8 16:56:00 | 显示全部楼层 |阅读模式
效果:
标注时,点取第一点,第二点,出现一个可以拖动的尺寸对象。
这个效果可以用Lisp模拟吗,怎么做?
谢谢!
发表于 2002-9-8 17:40:00 | 显示全部楼层

用Vlisp吧,用Vl-cmdf函数直接调用标注命令,用Alisp可能无法实现。

发表于 2003-6-27 12:31:00 | 显示全部楼层
Grread
发表于 2003-6-27 12:47:00 | 显示全部楼层
我认为应该这样:
  (setq p1 (getpoint "\n第一点:"))
  (setq p2 (getpoint "\n第二点:"))
  (command "_dimlinear" p1 p2 pause)
 楼主| 发表于 2004-12-7 17:46:00 | 显示全部楼层
这个我试过,但是效果不好
发表于 2004-12-7 18:19:00 | 显示全部楼层
(command "_.dimlinear")


(while (= (getvar "cmdacitve") 1) (command pause))
发表于 2004-12-7 19:43:00 | 显示全部楼层
飞哥,不太明白:


就(command "_.dimlinear")一样的效果呀!
发表于 2004-12-7 20:05:00 | 显示全部楼层
和_.dimlinear一样的效果,但和(command ...)效果却不一样,一般程序中使用command运行内部命令,都是预先知道命令的运行方式,按照提示给出后面的效果,但有些命令有很多选项,你无法确定后面参数的个数,而我的可以做到与原命令完全一致 如 (setq p1 (getpoint "\n第一点:"))
(setq p2 (getpoint "\n第二点:"))
(command "_dimlinear" p1 p2 pause) 只能做到选择两点进行标注,而无法使用object选项,选择对象标注 这样做就是为了最大限度地满足程序中使用内部命令时,使用过程与原命令保持一直
发表于 2004-12-7 21:33:00 | 显示全部楼层
那比如说这个命令怎样实现?


(command"_.leader" pt1 pt2 "a" "文字" "")


运行时只知道pt1,怎样暂停之后输入pt2后继续执行?pt2是用(grread)动态取得的,只有鼠标按下时才继续执行。
发表于 2004-12-8 08:30:00 | 显示全部楼层
为什么要用grread?


(command"_.leader" pt1        pause "a" "文字" "")
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-30 02:21 , Processed in 0.244338 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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