我有点得意忘形。
我很懒,使用了我的多行文字子程序:
;;; Add MText to drawing
;;; #InsertionPoint - MText insertion point
;;; #String - String to place in created MText object
;;; #Width - Width of MText object (if nil, will be 0 width)
;;; #Layer - Layer to place Mtext object on (nil for current)
;;; #Justification - Justification # for Mtext object
;;; 1 or nil= TopLeft
;;; 2= TopCenter
;;; 3= TopRight
;;; 4= MiddleLeft
;;; 5= MiddleCenter
;;; 6= MiddleRight
;;; 7= BottomLeft
;;; 8= BottomCenter
;;; 9= BottomRight
;;; Alan J. Thompson, 05.23.09
(defun AT:MText (#InsertionPoint #String #Width #Layer #Justification / #Width
#Space #Insertion #Object
)
(or #Width (setq #Width 0))
(or *AcadDoc*
(setq *AcadDoc* (vla-get-activedocument (vlax-get-acad-object)))
) ;_ or
(setq #Space (if (or (eq acmodelspace
(vla-get-activespace *AcadDoc*)
) ;_ eq
(eq :vlax-true (vla-get-mspace *AcadDoc*))
) ;_ or
(vla-get-modelspace *AcadDoc*)
(vla-get-paperspace *AcadDoc*)
) ;_ if
#Insertion (cond
((vl-consp #InsertionPoint) (vlax-3d-point #InsertionPoint))
((eq (type #InsertionPoint) 'variant) #InsertionPoint)
(T nil)
) ;_ cond
) ;_ setq
;; create MText object
(setq #Object (vla-addmtext #Space #Insertion #Width #String))
;; change layer, if applicable
(and #Layer
(tblsearch "layer" #Layer)
(vla-put-layer #Object #Layer)
) ;_ and
;; change justification & match insertion point with new justification
(cond ((member #Justification (list 1 2 3 4 5 6 7 8 9))
(vla-put-attachmentpoint #Object #Justification)
(vla-move #Object
(vla-get-InsertionPoint #Object)
#Insertion
) ;_ vla-move
)
) ;_ cond
#Object
) ;_ defun 实际上,因为我已经在不同的层上创建了值,所以在进行计算之前清理它们可能是一个好主意:
4
我跑了5000多分,很快就突破了。 alanjt,谢谢你的时间,它真的非常快(令人惊讶),但当我随机检查结果时,很多都不正确。。这是我必须注意的事情吗?(总的off差真的是个好主意)看起来我们有了总的差,那有可能得到总的挖方和填方面积的挖方和填方体积吗?
你能处理一张画(和我的程序)并把它贴出来吗?在我的每个测试中,它都非常有效。
不确定我是否知道如何计算体积,因为我认为我需要能够插值“曲面”。隐马尔可夫模型。。。 好的,我在这里附上处理后的绘图文件。
为了确认,第一步我加载了多行文字和剪切填充。lsp。
然后我键入命令cutfill,等待结果,对吗?
OGL-AS 1。图纸 5
试试这个。。。 仍然无法完全正确。 我知道,我每次都会犯同样的10个错误。我需要为分类部分尝试其他方法,但现在,我要睡觉了。我明天要玩它。然而,史蒂夫的确实有效,我只是想做一些更通用的东西。
是的,你的权利。。没问题。无论如何,首先感谢你:D 好吧,我撒谎了,但我成功了。我修改了我的排序方法。这是一个测试版本,它将画出一条连接线(当我们满意时,我将删除它)。如果OSL和as文本对象的数量不均衡,我仍然有一个问题(Steve也是如此)。我已经有了一个解决这个问题的方法,但今晚我真的不想重复这个列表。
另一方面,我编写了将文本放置在AS文本下方的过程,但您的坐标有点疯狂(每件事都偏离了90°),它只是把文本放置搞砸了。
这将花费更长的时间,但它正在创建连接线段(仅出于调试目的,我将删除它)。
试试看,我真的要睡觉了。。。。
用(CutFill)调用它
我还添加了一个删除原件的选项:眨眼:
页:
1
[2]