Michaels 发表于 2022-7-6 10:05:26

Entmakex中多段线的宽度

你好
 
如何增加多段线的宽度?
尽管我在entmakex中包含了它的代码?
 

(entmakex (list
         (cons 0 "LWPOLYLINE")
         (cons 100 "AcDbEntity")
         (cons 100 "AcDbPolyline")
         (cons 90 2)
   (cons 40 60); <- Start Width is not increasing
   (cons 41 60); <- end Width is not increasing
         (cons 10 pt1)
         (cons 10 pt2)
         (cons 210 (trans '(0. 0. 1.) 1 0 t))
   ))


The Buzzard 发表于 2022-7-6 10:11:42

投进去(cons 43 60)
 
试试这样的
 

(-1 . <Entity name: 7ef59e88>)
(0 . "LWPOLYLINE")
(330 . <Entity name: 7ef59cf8>)
(5 . "89")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "0")
(100 . "AcDbPolyline")
(90 . 2)
(70 . 0)
(43 . 60.0) ;Constant width (optional; default = 0). Not used if variable width (codes 40 and/or 41) is set
(38 . 0.0)
(39 . 0.0)
(10 -0.315076 5.33922) ;pt1
(40 . 60.0);start width
(41 . 60.0);end width
(42 . 0.0)
(10 80.2275 5.33922) ;pt2
(40 . 60.0);start width
(41 . 60.0);end width
(42 . 0.0)
(210 0.0 0.0 1.0)
,因为它是膨胀系数。如果您计划将全局宽度设置为43,则也不需要40和41。如果你在做箭头之类的形状的多段线,你会使用40和41。

pBe 发表于 2022-7-6 10:18:33

 
知道了,
 
谢谢

pBe 发表于 2022-7-6 10:23:40

 
没问题,
 
我使用下面这段小代码,李在不久前为我做了一些修复,以获取实体的dxf信息列表。在编写DXF代码时,我尽量保持信息的组装顺序不变。当您随机将DXF信息放在一起,并且不注意其排列方式时,可能会给您带来一些问题。有些实体并不那么精细,你可能会把事情安排错,但当你做真正复杂的实体时,比如填充图案,它可以让世界变得不同。因此,按照从中提取的顺序保存DXF信息是一种很好的做法。此外,代码中不需要列出您可能不会对其进行任何更改的可选代码部分。我只是想提一下。
 

(defun c:test (/ pt1 pt_lst pt2)
   (setq pt1(getpoint "\nPick first point:"))

   (if pt1
   (setq pt_lst (cons pt1 pt_lst))
   )
   (while
   (setq pt2 (getpoint pt1 "\nPick Next point:"))
      (if pt2
(progn
   (grdraw pt1 pt2 6 1)
   (setq pt_lst (cons pt2 pt_lst)
pt1 pt2
   )
)
      )
   )
   (entmakex
   (append (list (cons 0 "LWPOLYLINE")
   (cons 100 "AcDbEntity")
   (cons 100 "AcDbPolyline")
   (cons 90 (length pt_lst))
   (cons 70 0)
   ;(cons 40 50)<------- whatttttt?????
      ;(cons 41 50)<------- dont even bother pBe
      ;(cons 42 50)<------ silly me
   (cons 43 50)
      )
      (mapcar (function (lambda (x) (cons 10 x))) pt_lst)
   )
   )
)

 
在Michaels提供的代码中,这就是他真正需要做的。
 
(cons 42 50)

The Buzzard 发表于 2022-7-6 10:26:18

 
谢谢Buzzard,很高兴你能好好利用它
 
我写了一个更好的例子:
 
http://lee-mac.com/entitylist.html

pBe 发表于 2022-7-6 10:32:08

 
这当然是一个更好的代码李,它返回了更完整的信息。
 
谢谢

The Buzzard 发表于 2022-7-6 10:36:23

 
非常欢迎-很高兴为您提供帮助

The Buzzard 发表于 2022-7-6 10:40:52

谢谢大家。
 
这很有帮助。
 
非常感谢。

Lee Mac 发表于 2022-7-6 10:44:26

 
欢迎您,Michaels,请尝试使用开发者帮助部分。那里有一个信息世界,不难理解。这将使你更加自给自足。
祝你好运

The Buzzard 发表于 2022-7-6 10:48:09

 
我会的,特别感谢你为我付出的努力。
 
非常感谢。
 
迈克尔
页: [1] 2
查看完整版本: Entmakex中多段线的宽度