每行新图层
场景i将绘制一条线,该线将位于新层上,并带有其计数有没有可能制作一个lisp,我可以使用它制作一个层,并将其计为层名称???
所以我做的每一行都有不同的层数?有没有可能我可以设置从哪个数字开始?
我试着做。。。我想我做的每一行都有新的一层,但我想再进一步。
如果我想在一层上画多行呢?在不丢失行计数的情况下,它将生成的下一层应该是下一个计数。类似DWG文件的内容。。。
有人能帮我做吗?
以下是我目前获得的代码:
(defun c:TestLINE (/ numero contstring)
(if (and (setq numero (getint "\nEnter HoleID: "))
)
(while T
(if (not
(tblsearch
"LAYER"
(setq contstring (strcat "" (itoa numero)))
)
)
(command "_layer" "m" contstring "" "_.line" pause pause "")
)
(setq numero (+ numero 1))
)
)
(princ)
)
如果你看看这幅画,你就会明白我说的线数是什么意思。。。。
样本Cad合成。图纸 我想我有点明白了???
我知道这很难看,但至少我试过。。。。
(defun testes ()
; (if (and (setq numero (getint "\nEnter HoleID: "))
; )
(while T
(if (not
(tblsearch
"LAYER"
(setq contstring (strcat "" (itoa numero)))
)
)
(command "_layer" "m" contstring "" "_.line" pause pause "")
)
(setq numero (+ numero 1))
)
; )
(princ)
)
(defun c:testestes (/ numero chcut cntr contstring)
(setq numero (getint "\nEnter HoleID: "))
(while T
(setq chcut (getint "\nEnter # of CHCUTS: "))
(setq cntr 1)
(if (= chcut 1)
(testes)
)
(if (not
(tblsearch
"LAYER"
(setq contstring (strcat "" (itoa numero)))
)
)
(command "_layer" "m" contstring "")
)
(while (<= cntr chcut)
(command "_.line" pause pause "")
(setq cntr (+ cntr 1))
(setq numero (+ numero 1))
)
)
(princ)
)
我相信我的尝试也会带来一些好处。
; create pline by picking points press enter when finished
(command "_pline")
(while (= (getvar "cmdactive") 1 ) (command pause)
)
致相关人士。
睾丸
睾丸的功能是产生精子和雄激素,主要是睾酮。
更好的函数名之一。 信息性!:大声笑: 我完全不明白OP在说什么:
就像绘制对象一样,图层会随着其计数而变化-
但是,如果手动更改当前层,会发生什么?
如果手动更改某些对象的图层,会发生什么情况?
以下是我玩过的游戏:
(defun laychk (lay/ )
(if (not (tblsearch"LAYER" (itoa lay)))
(command "_layer" "m" (itoa lay) "")
)
)
(defun c:testes ()
(if (/= numero nil)
(setvar 'clayer (itoa numero))
(progn
(setq numero (getint "Enter a number"))
(laychk numero)
)
)
(setq continue "Y")
(while (=continue "Y")
(command "_pline")
(while (= (getvar "cmdactive") 1 ) (command pause)
)
(setq numero (+ numero 1))
(laychk numero)
(if (= (setq continue (Getstring "Press <Cr> to continue any key to exit")) "")
(setq continue "Y")(setq continue "N"))
)
(princ)
)
(c:testes)
因此,上面只创建了一个层,并不断更改其名称。
虽然我的代码不是完全防错的。
很抱歉,这本应该是测试,但我输入了一个错误,我很懒,所以我只是用它,并使用它。
这个想法是,我画一条线,层名称将是我一直在画的线的计数。
因此,如果我开始画一条线,这是计数1(这是我的layername 1),然后我继续画另一条线,这是计数2(这是layername 2),依此类推。。。
在每一层上画一条线很容易,正如你们在我丑陋的代码中看到的,我刚刚创建了一个层,我画了一条线,然后它循环。
我关心的是,在一个图层上,我想画两条或更多的线!但是仍然要跟踪计数,这样当我制作另一层时,它将是我计数的最后一个数字。
假设我在第五层,我会画两条线
我的下一个layername应该是7岁。
让我们继续,这次我在第7层,我将画4条线,
我的下一层应该是第10层。。。
彼此彼此。当用户继续创建线/对象时,它是否会创建无限多的层?
编辑:oops没有从OP那里看到帖子 这是一个什么样的常规?通过根据绘制到该点的线的总数命名图层,您实际上想要实现什么?
这样我就可以用所有的xyz坐标加上LAYERNAME来提取它们
因为它有数字,所以我在下一步更容易操作数据。
此外,因为它有计数。我将不再跟踪它,专注于其他数据,从而帮助我更快地工作 我认为数据提取是基于实体创建的顺序。所以,对我来说,这种Lisp程序的需要是重言式的。
页:
[1]
2