明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1730|回复: 8

这样错在哪里,怎么样依次取得点呢?LISP

[复制链接]
发表于 2004-3-22 16:45:00 | 显示全部楼层 |阅读模式
(COMMAND "_DIMLINEAR" (NTH 0 BB) (NTH 1 BB) "@0,450") (command "_dimcontinue"
(while (< N num) (nth N bb) (setq N (1+ N)))
"" "") bb为坐标列表,怎么样让点依次输入实现连续标注了
发表于 2004-3-22 17:01:00 | 显示全部楼层
(command "_dimcontinue"
(while (< N num) (command (nth N bb)) (setq N (1+ N))))
(command "" "")
 楼主| 发表于 2004-3-22 17:11:00 | 显示全部楼层
多谢meflying。 但还出现一个提示输入点无效
发表于 2004-3-22 17:14:00 | 显示全部楼层
那就是你的表BB或者循环控制NUM的问题了
 楼主| 发表于 2004-3-22 18:03:00 | 显示全部楼层
(defun c:111 ()
(setvar "cmdecho" 0)
(setq pt1 (getpoint "\n请选择-1:") pt2 (getpoint pt1 "\n请选择-2:"))
(setq ss (ssget "c" pt1 pt2))
(setq num (sslength ss)
e 0
N 2)
(setq bb nil)
(while (< e num)
(setq nam (ssname ss e)
ent (entget nam)
pt11 (cdr (assoc 10 ent))
pt22 (cdr (assoc 11 ent)))
(setq int (inters pt1 pt2 pt11 pt22))
(setq bb (append (list int) bb))
(setq e (1+ e))
);end while
(setq bb
(vl-sort bb
(function (lambda (e1 e2)
(< (car e1) (car e2)) ) ) )
);;end setq
(SETVAR "OSMODE" 0)
(COMMAND "_DIMLINEAR" (NTH 0 BB) (NTH 1 BB) "@0,450")
(command "_dimcontinue"
(while (< N num) (command (nth N bb)) (setq N (1+ N))))
(command "" "")
(setvar "cmdecho" 1)
(PRINC)) 代码是这样,运行后能用,但提示点无效
发表于 2004-3-22 18:20:00 | 显示全部楼层
不好意思,漏了一个括号。。。这程序有什么功能?好象QDIM比这个程序功能强多了 (command "_dimcontinue")
(while (< N num) (command (nth N bb)) (setq N (1+ N))))
(command "" "")
发表于 2004-3-22 18:40:00 | 显示全部楼层
(command "_dimcontinue")
(while (< N num) (command (nth N bb)) (setq N (1+ N)))
 楼主| 发表于 2004-3-22 19:17:00 | 显示全部楼层
哦,我还不太熟悉LISP,多谢meflying, 这个程序我刚做好的,标注所择的线的尺寸。 自认为还比较方便。
 楼主| 发表于 2004-4-8 17:38:00 | 显示全部楼层
请大侠参考,提点建议
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-22 16:56 , Processed in 0.194337 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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