无法获取例程以运行se
我执行这个例程来添加维度。它只允许我添加一个维度,然后退出。如果我第二次尝试运行这个例程,它什么都不会做。我尝试了在第一个(setq…)前面放置一个“while”语句。在命令提示下不断循环。
----------------------------------------------------
(defun c:RedOrdDim(/scmde RedOrd)
(setq-scmde(getvar“cmdecho”))
(setvar“cmdecho”0)
(如果(tblsearch“UCS”“PnlRear”)
(命令“ucs”“restore”“PnlRear”)
(程序
(命令“_ucs”“New”“174.3125,68.00,0.0”)
(名为“Save”PnlRear的命令“\u ucs”)
(命令“ucs”“Restore”“PnlRear”)
)
)
(如果(tblsearch“DimStyle”“Red_Ordinate”);如果存在红色坐标,
(命令“DimStyle”“Restore”“Red_Ordinate”);激活DimStyle
(程序
(setvar“DIMADEC”0)
(setvar“DIMALT”0)
(setvar“DIMALTD”2)
(setvar“DIMALTF”25.4000)
(setvar“DIMALTRND”0.0000)
(setvar“DIMALTTD”2)
(setvar“DIMALTTZ”0)
(setvar“DIMALTU”2)
(setvar“DIMALTZ”0)
(setvar“DIMAPOST”“”)
(setvar“DIMASSOC”1)
(setvar“DIMASZ”0.1250)
(setvar“DIMATFIT”3)
(setvar“DIMAUNIT”0)
(setvar“DIMAZIN”0)
(setvar“DIMBLK”)
(setvar“DIMBLK1”“”)
(setvar“DIMBLK2”“”)
(setvar“DIMCEN”0.093
(setvar“DIMCLRD”1)
(setvar“DIMCLRE”1)
(setvar“DIMCLRT”1)
(setvar“DIMDEC”2)
(setvar“DIMDLE”0.0000)
(setvar“DIMDLI”0.3750)
(setvar“DIMDSEP.”)
(setvar“DIMEXE”0.093
(setvar“DIMEXO”0.1250)
(setvar“DIMFIT”3)
(setvar“DIMFRAC”2)
(setvar“DIMGAP”0.0625)
(setvar“DIMJUST”0)
(setvar“DIMLDRBLK”“”)
(setvar“DIMLFAC”1.0000)
(setvar“DIMLIM”0)
(setvar“DIMLUNIT”5)
(setvar“DIMLWD”-2)
(setvar“DIMLWE”-2)
(setvar“DIMPOST”“\”“)
(setvar“DIMRND”0.0000)
(setvar“DIMSAH”0)
(setvar“DIMSCALE”8.0000)
(setvar“DIMSD1”0)
(setvar“DIMSD2”0)
(setvar“DIMSE1”0)
(setvar“DIMSE2”0)
(setvar“DIMSHO”1)
(setvar“DIMSOXD”0)
(setvar“DIMTAD”0)
(setvar“DIMTDEC”4)
(setvar“DIMTFAC”1.0000)
(setvar“DIMTIH”0)
(setvar“DIMTIX”1)
(setvar“DIMTM”0.0000)
(setvar“DIMTMOVE”0)
(setvar“DIMTOFL”0)
(setvar“DIMTOH”0)
(setvar“DIMTOL”0)
(setvar“DIMTOLJ”1)
(setvar“DIMTP”0.0000)
(setvar“DIMTSZ”0.0000)
(setvar“DIMTVP”0.0000)
;;(setvar“DIMTXSTY”“DIMEN”)
;;(setvar 4。“\”)
(setvar“DIMTXT”0.1250)
(setvar“DIMTZIN”0)
(setvar“DIMUNIT”7)
(setvar“DIMUPT”0)
(setvar“DIMZIN”3)
(命令“_。-dimstyle”“Save”“Red\u Ordinate”)
(命令“_.-dimstyle”“Restore”“Red\u-Ordinate”)
(命令“DIMORITY”)
) ;结束程序
) ;如果结束
(普林斯)
) ;结束defun
--------------------------------------------------------
JDOF噪声 你把一些括号放错了地方,缺少了两个右括号。
请在将来使用代码标签来包围您的代码。否则很难阅读。 jdofboise,
请阅读代码发布指南,并编辑您的帖子以包括代码标签! 一点帮助一个我很久以前写的liitle,或者使用VLIDE和check代码将检查括号na dgive的想法是错误的
(defun c:chkbrk (/ opf bkt chekdfile rdctl wkfile currentln wln ltr ncln)
(setvar "cmdecho" 0)
(prompt "\nlook at end of line")
;(setq chekdfile (getstring "enter name of file :"))
(SETQ chekdfile (getfiled "Enter file name:" " " "LSP" 4))
(setq opf (open chekdfile "r"))
(setq bkt 0)
(setq blkl 0)
(setq rdctl 1)
(setq wkfile (open "c:\temp\wow.lsp" "w"))
(setq currentln "a")
(while (/= blkl 6)
(setq currentln (read-line opf))
(if (= currentln nil)(setq currentln ""))
(if (= currentln "")(setq blkl (+ 1 blkl))(setq blkl 1))
(setq wln currentln)
(while (/= wln "")
(setq ltr (substr wln 1 1))
(setq wln (substr wln 2))
(cond ((= (ascii ltr) 34) (if (= rdctl 0)(setq rdctl 1)(setq rdctl 0)))
((and (= ltr "(")(= rdctl 1))(setq bkt (+ bkt 1)))
((and (= ltr ")")(= rdctl 1))(setq bkt (- bkt 1)))
((and (= ltr ";")(= rdctl 1))(setq wln ""))
;(t (prompt ltr))
)
)
(setq ncln (strcat currentln ";" (itoa bkt)
(princ (itoa bkt))
(if (= rdctl 0) "string open" "")))
(if (/= currentln "")(write-line ncln wkfile))
)
(close wkfile)
(close opf)
(prompt (strcat "open brakets= " (itoa bkt) "."))
)
(setq ang1 nil
pt1 nil
pt2 nil
pt3 nil
pt4 nil
pt5 nil)
(princ)
SLW-很抱歉,代码中缺少换行符。我看了每一个按钮,看看是哪一个。一定是被它绊倒了。
比加尔-我来试试。我开始阅读帮助文件,使用Visual lisp工具检查代码中的括号。我们看看我是否学到了什么。
irneb-感谢您检查代码。非常感谢。我使用此例程的目的是启动命令,并将dimstyle和UCS设置为特定点。我创建了4个独立的例程,用2种不同的DIMSTYLE处理2个不同的UCS位置。一个Dimstyle是红色的,另一个是bylayer。我不知道如何在使用命令后将UCS重置回图形原始UCS(“世界”或边界的0,0)。如果我转到一个UCS和维度,然后尝试为其他UCS运行lisp,它会将其移动,就像当前UCS是sht的原始UCS一样。边境
如何重置原始边界UCS,然后重置第二个新UCS?我试过。。。
(如果(tblsearch…在第一个setvar之后的开始。
或
(commmand“ucs”“World”)。。。在同一个地方
或
(命令“ucs”“World”)。。。在最后一个(命令。。。
没有良好的结果。我是否应该在同一例程中创建两个新UCS,使其作为相对于sht的已知点存在。边境我就是看不见。
2
谢谢你的帮助
J
你知道当国会说披萨是一种蔬菜时,我们就完蛋了。
页:
[1]