找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: wxl1981807

[文章]:标注尺寸lisp

[复制链接]
发表于 2005-8-29 17:29:53 | 显示全部楼层
谢谢yshf
我将变量bly删除了,只余blx一个变量,才出现了零长度直线,只是偶尔才出现,没有找到规律
命令: zz
请输入打印的比例<默认为500>:
拾取需要标注的点:
拾取标注线起点:
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2005-8-31 19:23:21 | 显示全部楼层
請問PHP代碼和圖片是怎樣貼上去的?謝謝!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-1 15:39:42 | 显示全部楼层
问题解决了,能够正常使用了,但今天又出现了一个问题,坐标标注时,显示的应该是X=***,Y=***,但等号无缘无故没有了,我把这句改为(setq y (strcat "Y=" (rtos (car pt) 2 3))
x (strcat "X=" (rtos (cadr pt) 2 3)),X、Y后各加了一个等号,一切正常了,不知这个原因是怎样产生的?我的解决方法是否正确?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 111个

财富等级: 日进斗金

发表于 2005-9-1 16:02:46 | 显示全部楼层
你最早给出的程序为:
(command "text" "ml" (list xx2 (+ y1 2.625))  3.5 0 (strcat "X " (rtos x 2 3)))
(command "text" "ml" (list xx2 (- y1 2.625))  3.5 0 (strcat "Y " (rtos y 2 3)))
中就没有“=”号,怎么能说是“等号无缘无故没有了”。
你现在的解决方法是正确的,但是差了一个“)”。
(setq y (strcat "Y=" (rtos (car  pt) 2 3))
        x (strcat "X=" (rtos (cadr pt) 2 3))
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-2 08:49:49 | 显示全部楼层
可能是试验的次数多了,总是认为原先带等号的
现在根据自己的需要,更改了一下主要是删除了bly这个东西
程序如下,请指点,另外那个括号加上出现了问题,没有括号就正常了
(defun zz_err (s)
(if (/= s "Function cancelled")
(princ (strcat "\nError: " s))
)
(setvar "osmode" os)
(if dis (setvar "dimzin" dis))
(setvar "cmdecho" cmd)
(command "_.UNDO" "_E")
)

;;=============== Main program ============

(defun c:zz (/ cmd os pt x y pt1 x1 y1 xx2 pt2 dis)
(setq *error* zz_err)
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 4271)

;请注以下三行
(command "_.undo" "be")
(setq blx (getreal "\n请输入打印的比例<默认为500>:")
pt (getpoint "\n拾取需要标注的点:")
pt1 (getpoint pt "\n拾取标注线起点:")
)

;请注意以下三行
(if (= blx nil)(setq blx 500.0))
(setq blc (/ blx ))

(setq y (strcat "Y=" (rtos (car pt) 2 3))
x (strcat "X=" (rtos (cadr pt) 2 3))
x1 (car pt1) y1 (cadr pt1)
y2 y1
dxy (textbox (list (cons 1 x) (cons 40 (* 3.5 blc))))
dl1 (car (mapcar '- (cadr dxy) (car dxy)))
dxy (textbox (list (cons 1 y) (cons 40 (* 3.5 blc))))
dl2 (car (mapcar '- (cadr dxy) (car dxy)))
ddd dl1
)
(if (> dl2 dl1) (setq ddd dl2))
(if (> x1 (car pt))
(setq x2 (+ x1 ddd 0.5) xx2 (+ x1 0.5))
(setq x2 (- x1 ddd 0.5) xx2 (+ x2 0.5))
)
(setvar "osmode" 0)
(setq pt2 (list x2 y2))
(command "line" pt pt1 pt2 "")
(if (null (setq elist (tblsearch "style" "S2")))
(command "_style" "S2" "S2.ttf" "0.0" "" "0.0" "" "")
)
(setvar "TEXTSTYLE" "S2")
(setq dis (getvar "dimzin"))
(setvar "dimzin" 1)

;请注意以下两行
(command "text" "ml" (list xx2 (+ y1 (* 2.625 blc))) (* 3.5 blc) 0 x)
(command "text" "ml" (list xx2 (- y1 (* 2.625 blc))) (* 3.5 blc) 0 y)

;请注意以下四行的顺序
(command "_.UNDO" "_E")
(setvar "osmode" os)
(setvar "dimzin" dis)
(setvar "cmdecho" cmd)
(princ)
)
补充一点,刚才发现了一个问题,坐标标注原先精度是小数点后三位,末尾数是零后,标注的数值自动删除了这个末尾数零,能否保留这个零呀,即小数点后永远是三位
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 111个

财富等级: 日进斗金

发表于 2005-9-2 12:38:49 | 显示全部楼层
;改为如下程序即可
(defun zz_err (s)
(if (/= s "Function cancelled")
(princ (strcat "\nError: " s))
)
(setvar "osmode" os)
(if dis (setvar "dimzin" dis))
(setvar "cmdecho" cmd)
(command "_.UNDO" "_E")
)

;;=============== Main program ============

(defun c:zz (/ cmd os pt x y pt1 x1 y1 xx2 pt2 dis)
(setq *error* zz_err)
(setq cmd (getvar "cmdecho") )
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setq dis (getvar "dimzin"))
(setvar "osmode" 4271)

;请注以下三行
(command "_.undo" "be")
(setq blx (getreal "\n请输入打印的比例<默认为500>:")
pt (getpoint "\n拾取需要标注的点:")
pt1 (getpoint pt "\n拾取标注线起点:")
)

;请注意以下三行
(if (= blx nil)(setq blx 500.0))
(setq blc (/ blx ))
(setvar "dimzin" 1)

(setq y (strcat "Y=" (rtos (car pt) 2 3))
x (strcat "X=" (rtos (cadr pt) 2 3))
x1 (car pt1) y1 (cadr pt1)
y2 y1
dxy (textbox (list (cons 1 x) (cons 40 (* 3.5 blc))))
dl1 (car (mapcar '- (cadr dxy) (car dxy)))
dxy (textbox (list (cons 1 y) (cons 40 (* 3.5 blc))))
dl2 (car (mapcar '- (cadr dxy) (car dxy)))
ddd dl1
)
(if (> dl2 dl1) (setq ddd dl2))
(if (> x1 (car pt))
(setq x2 (+ x1 ddd 0.5) xx2 (+ x1 0.5))
(setq x2 (- x1 ddd 0.5) xx2 (+ x2 0.5))
)
(setvar "osmode" 0)
(setq pt2 (list x2 y2))
(command "line" pt pt1 pt2 "")
(if (null (setq elist (tblsearch "style" "S2")))
(command "_style" "S2" "S2.ttf" "0.0" "" "0.0" "" "")
)
(setvar "TEXTSTYLE" "S2")



;请注意以下两行
(command "text" "ml" (list xx2 (+ y1 (* 2.625 blc))) (* 3.5 blc) 0 x)
(command "text" "ml" (list xx2 (- y1 (* 2.625 blc))) (* 3.5 blc) 0 y)

;请注意以下四行的顺序
(command "_.UNDO" "_E")
(setvar "osmode" os)
(setvar "dimzin" dis)
(setvar "cmdecho" cmd)
(princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-2 15:50:26 | 显示全部楼层
万分感谢yshf,已经非常管用了,再问一个问题
就是新打开的文档中没有S2这种字体,若这时使用坐标标注,会出现错误的提示,不知道用什么方法解决?
我一般是复制一个S2格式的字体,粘贴到新建文档中,就可以正常使用了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 111个

财富等级: 日进斗金

发表于 2005-9-3 11:46:45 | 显示全部楼层
将"S2.ttf"复制到"\Auto CAD XXX\fonts"中,或者另用其"ttf"它字体。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-3 12:33:32 | 显示全部楼层
看看我以前的帖子有没有用?!


http://www.xdcad.net/forum/showthread.php?threadid=350253
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-4 10:04:11 | 显示全部楼层
最初由 yshf 发布
[B]将"S2.ttf"复制到"\Auto CAD XXX\fonts"中,或者另用其"ttf"它字体。 [/B]

请教如何进行,我的文字样式S2是通过设置文字样式进行得到的,在什么地方找到*.ttf格式?谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 111个

财富等级: 日进斗金

发表于 2005-9-5 11:47:55 | 显示全部楼层
将程序中"S2.ttf"改为"宋体"或者"黑体"等ttf字体。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-5 14:36:37 | 显示全部楼层
楼主说的是图示这种字体格式吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-5 14:37:37 | 显示全部楼层
楼主说的是这种文字格式吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-5 14:39:52 | 显示全部楼层
我个文件夹中全部是SHX字体,没有TTF格式的字体
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 12:43 , Processed in 0.214913 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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