绘制样条并求z
你好,朋友们我有一个lisp,可以绘制3dpolyline,然后从屏幕上的文本中选择z
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(定义c:3dPol2(/a)
(命令“_3dpoly”)
(while(等式1(logand 1(getvar“cmdactive”)))
(如果
(setq a(获取点a“\n拾取点:”)
(setq a(getpoint“\n Pick start Point:”)
)
(setq osmd(getvar“osmode”))
(initget 1)
(setq pt11(entget(car(entsel“\n点击文本级别:”)))
(setq txtstr1(assoc 1 pt11))
(setq dlv1(atof(cdr txtstr1)))
(普林斯dlv1)
(setvar“osmode”0)
(如果
(命令(list(car a)(cadr a)dlv1))
(命令)
)
(setvar“osmode”osmd)
)
(普林斯)
)
;;;;;;;;;;;;;;;;;;
我的问题是绘制样条曲线,然后在绘图中的某个地方选取一个文本作为z值
任何帮助都将不胜感激
谢谢 文本是否只包含一个数字?还是你的目标是文本的位置?
编辑:对不起,我应该对LISP进行更多分析-我看到z坐标包含在文本中。 也许是这个?
(defun c:3dPol2 (/ pt1 txt zval cmpt)
(if (and (setq pt1 (getpoint "\nSpecify Start Point > "))
(setq txt (car (entsel "\nPick Text > ")))
(member (cdr (assoc 0 (entget txt))) '("TEXT" "MTEXT")))
(progn
(setq zval (cdr (assoc 1 (entget txt)))
cmpt (strcat (rtos (car pt1)) "," (rtos (cadr pt1)) "," zval))
(command "_3dpoly" cmpt)
(while (> (getvar "cmdactive") 0)
(if (and (setq pt1 (getpoint pt1 "\nConstruct Other Points > "))
(setq txt (car (entsel "\nPick Text > ")))
(member (cdr (assoc 0 (entget txt))) '("TEXT" "MTEXT")))
(progn
(setq zval (cdr (assoc 1 (entget txt)))
cmpt (strcat (rtos (car pt1)) "," (rtos (cadr pt1)) "," zval))
(command cmpt))
(command))))
(princ "\n<!> No Point/Text Selected <!> "))
(princ))
谢谢你的回复
我的问题类似于lisp,但对于样条曲线,而不是3dpolyline,问题文本是数字
谢谢 啊,我明白了,我只是以为你想修改你的LISP-但我会看看我能做什么 也许是这个?
(defun c:3dPol2 (/ pt1 txt zval cmpt)
(if (and (setq pt1 (getpoint "\nSpecify Start Point > "))
(setq txt (car (entsel "\nPick Text > ")))
(member (cdr (assoc 0 (entget txt))) '("TEXT" "MTEXT")))
(progn
(setvar "cmdecho" 0)
(setq zval (cdr (assoc 1 (entget txt)))
cmpt (strcat (rtos (car pt1)) "," (rtos (cadr pt1)) "," zval))
(command "_3dpoly" cmpt)
(while (> (getvar "cmdactive") 0)
(if (and (setq pt1 (getpoint pt1 "\nConstruct Other Points > "))
(setq txt (car (entsel "\nPick Text > ")))
(member (cdr (assoc 0 (entget txt))) '("TEXT" "MTEXT")))
(progn
(setq zval (cdr (assoc 1 (entget txt)))
cmpt (strcat (rtos (car pt1)) "," (rtos (cadr pt1)) "," zval))
(command cmpt))
(command)))
(command "_.pedit" (entlast) "S" ""))
(princ "\n<!> No Point/Text Selected <!> "))
(setvar "cmdecho" 1)
(princ))
我的目标是绘制通过选定点的样条曲线,但这些点没有z值,因此在拾取每个点时必须插入z值
我从你的lisp dos中得到的线,没有通过所选的点并保持3dpoline
谢谢你 它为我生成了一条样条。。
看这里
样条曲线。拉链 好的,它是样条曲线,但样条曲线不通过选定的点
这个问题能解决吗 我以为标准样条只能是二维的,也许我错了
页:
[1]
2