tmelancon 发表于 2022-7-5 17:43:49

简单行“Continuation”lis

只是寻找一个基本的lisp例程,我将其称为continuation,但并不确定该如何称呼它,因此很难找到存在的东西。无论如何,我想在一个隐藏层上画一条带有2个点的简单线,然后在最终提示用户旋转角度的地方插入一条“样条线”。“样条曲线”是我们服务器上的一个块。最终希望添加获取等参平面并旋转该样条线以匹配等参平面的功能。请参见快照:

ReMark 发表于 2022-7-5 17:52:03

看起来像是用来表示管道破裂的符号。如果一个块就足够了,为什么还要麻烦使用lisp例程呢?

tmelancon 发表于 2022-7-5 17:57:12

我想我只是想加快线条、方块、旋转,以及层切换等等。现在我们画一条0.5个单位的线,无论这条线在哪个方向继续。接下来,我们键入“1”,这是换行符插入快捷方式命令。然后将其插入线条末端,并相应旋转。最后我们选择全部并放置在隐藏层上。这不需要,但可能总共10秒,但我只是有一些休息时间,并正在考虑一个例行程序,可以为我做这一切。

ReMark 发表于 2022-7-5 18:07:47

你的要求没有错。我只是好奇。

tmelancon 发表于 2022-7-5 18:12:58

我在想一些非常简单的事情。仍然不太熟悉获取和存储点,否则我会将其写成只有2个点,存储第二个点,然后在绘制完两点线后在p2处插入中断符号。
 
(DEFUN C:CON (/ *ERROR* OLDLAYR OLDORTH)
(princ "\nDraw your continuation line... ")
(defun *error* (msg)
   (if oldlayr (setvar "clayer" oldlayr))
   (if oldorth (setvar "orthomode" oldorth))
   (if msg (prompt msg))
   (princ)
   )
(setq oldlayr (getvar "clayer"))
(setq oldorth (getvar "orthomode"))
(command "._-layer" "s" "HIDDEN" "")
(setvar "orthomode" 1)
(command "_.LINE")
(while (> (getvar "CMDACTIVE") 0) (command pause))
(princ "\nPlace your spline... ")
(setvar "orthomode" 0)
(Command "-insert" "spline-H" pause "" "" pause)
(setvar "orthomode" OLDORTH)
(command "._-layer" "s" OLDLAYR "")
(*error* nil)
(PRINC))

tmelancon 发表于 2022-7-5 18:19:18

好的,在这里稍微调整一下,如果还有人在读这篇文章,想插话教我,我愿意学习。
 
我现在想做的是在这里写一些东西,得到当前等轴平面,并旋转我的样条线,使其与十字准线在同一平面上。这就是当我们输入延拓线(我将在接下来的例程中进行编码)时,它看起来很整洁并且在同一个平面上。请参见图片:
https://www.cadtutor.net/forum/images/misc_cadtutor/pencil.png

tmelancon 发表于 2022-7-5 18:29:48

小更新,这是我到目前为止。它似乎很适合垂直延伸,但只要我在左等距或右等距中走任何一条路,它都不能正确地旋转断点。我试图找出在哪里以及如何编写这篇文章。如果有人想插话,仍在开发中。
 
2

tmelancon 发表于 2022-7-5 18:32:40

谢谢大艾尔。很好的输入。您喜欢在lisp例程中使用(setvar'clayer oldlayer)而不是(command“.-layer”s“OLDLAYR”)吗?有什么好处吗?或者这只是个人喜好?

BIGAL 发表于 2022-7-5 18:40:47

tmelancon 发表于 2022-7-5 18:49:36

Thanks Big Al. Great input. Do you prefer to use (setvar 'clayer oldlayer) with your lisp routines instead of (command "._-layer" "s" OLDLAYR "") ? Are there any benefits or is this just a personal preferences?
页: [1]
查看完整版本: 简单行“Continuation”lis