明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1565|回复: 6

[求助]

[复制链接]
发表于 2004-3-12 08:50:00 | 显示全部楼层 |阅读模式
各位老大帮忙:

本帖子中包含更多资源

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

x
发表于 2004-3-12 09:10:00 | 显示全部楼层
你上面的字我看也看不见,能不能传张图上来?
 楼主| 发表于 2004-3-12 09:19:00 | 显示全部楼层
citykunan发表于2004-3-12 9:10:00你上面的字我看也看不见,能不能传张图上来?

你单击图片即可在新窗口中放大
发表于 2004-3-12 21:42:00 | 显示全部楼层
(defun c:tt( / a1 a2 p1 p2 p3 p4 p5 p6 os)
(setq a1( entget (car (nentsel) ) ) ) (setq a2( entget (car (nentsel) ) ) os (getvar "osmode") )
(setq p1 (cdr ( assoc 10 a1 )) p2 (cdr ( assoc 11 a1 ))
p3 (cdr ( assoc 10 a2 )) p4 (cdr ( assoc 11 a2 )) )
(setq p5 (inters p1 p2 p3 p4 nil))
(setvar "osmode" 0)
(if (> (distance p5 p1) (distance p5 p2) ) (setq p6 p2) (setq p6 p1))
(command "line" p5 (mapcar '(lambda (x y) (/ (+ x y) 2 ) ) p5 p6 ) "" )
(command "change" (entlast) "" "p" "c" 3 "")
(if (> (distance p5 p3) (distance p5 p4) ) (setq p6 p4) (setq p6 p3))
(command "line" p5 (mapcar '(lambda (x y) (/ (+ x y) 2 ) ) p5 p6 ) "" )
(command "change" (entlast) "" "p" "c" 3 "")
(setvar "osmode" os)
) 我在cad2004上运行通过了,你看看好使么.
 楼主| 发表于 2004-3-14 09:26:00 | 显示全部楼层
ljcgq :你好!谢谢你帮我编写程序,不过还有些问题想请教你,就是好如果我新建一个文件测试程序时很正常,如果我打开一个旧文件测试则出现如下情况:见图片

本帖子中包含更多资源

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

x
发表于 2004-3-14 10:25:00 | 显示全部楼层
可能是UCS坐标问题,你使用前使用UCS命令,然后直接回车,就是到WCS里执行程序,执行完后UCS P恢复,,,也可以将它直接加到程序里
发表于 2004-3-14 11:18:00 | 显示全部楼层
meflying说的很对,是坐标系的问题.程序我改了一下,可以避免ucs造成的错误: (defun c:tt( / a1 a2 p1 p2 p3 p4 p5 p6 os)
(setq a1( entget (car (nentsel) ) ) ) (setq a2( entget (car (nentsel) ) ) os (getvar "osmode") )
(setq p1 (cdr ( assoc 10 a1 )) p2 (cdr ( assoc 11 a1 ))
p3 (cdr ( assoc 10 a2 )) p4 (cdr ( assoc 11 a2 )) )
(setq p5 (inters p1 p2 p3 p4 nil))
(setvar "osmode" 0)
[I](command "ucs" "" "") ;edit[/I]
(if (> (distance p5 p1) (distance p5 p2) ) (setq p6 p2) (setq p6 p1))
(command "line" p5 (mapcar '(lambda (x y) (/ (+ x y) 2 ) ) p5 p6 ) "" )
(command "change" (entlast) "" "p" "c" 3 "")
(if (> (distance p5 p3) (distance p5 p4) ) (setq p6 p4) (setq p6 p3))
(command "line" p5 (mapcar '(lambda (x y) (/ (+ x y) 2 ) ) p5 p6 ) "" )
(command "change" (entlast) "" "p" "c" 3 "")
[I] (command "ucs" "p" "") ;edit[/I]
(setvar "osmode" os)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 20:35 , Processed in 0.171965 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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