CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

相关分类

线型生成属性 (ActiveX)

2023-1-3 11:57| 发布者: admin| 查看: 429| 评论: 0|来自: AutoCAD

摘要: 指定二维折线或轻量化折线的线型生成。

指定二维折线或轻量化折线的线型生成。

支持的平台:仅窗口

签名

工 务 局:

object.LinetypeGeneration
对象

类型:长线折线

此属性适用的对象。

属性值

只读:

类型:布尔

  • True:通过折线顶点以连续模式生成线型。
  • False:在每个折线顶点生成以短划线开始和结束的线型。

言论

此属性不适用于具有锥形线段的折线。

线型生成设置为 true(左)和 false(右)的折线

例子

工 务 局:

Sub Example_LinetypeGeneration()
    ' This example creates a polyline in model space and
    ' queries and changes the linetype generation for
    ' the polyline.
    
    ' To see the effect of changing the linetype generation, set
    ' the linetype of the polyline to something other than continuous,
    ' ByBlock, or ByLayer.
    
    Dim plineObj As AcadPolyline
    Dim points(0 To 14) As Double
    
    ' Define the 2D polyline points
    points(0) = 1: points(1) = 1: points(2) = 0
    points(3) = 1: points(4) = 2: points(5) = 0
    points(6) = 2: points(7) = 2: points(8) = 0
    points(9) = 3: points(10) = 2: points(11) = 0
    points(12) = 4: points(13) = 4: points(14) = 0
        
    ' Create a lightweight Polyline object in model space
    Set plineObj = ThisDrawing.ModelSpace.AddPolyline(points)
    ZoomAll
    
    ' Find the current linetype generation for the polyline
    MsgBox "The linetype generation for the polyline is: " & plineObj.LinetypeGeneration
    
    ' Change the linetype generation
    plineObj.LinetypeGeneration = Not plineObj.LinetypeGeneration
    plineObj.Update
    MsgBox "The linetype generation for the polyline is now: " & plineObj.LinetypeGeneration
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_LinetypeGeneration()
    ;; This example creates a polyline in model space and
    ;; queries and changes the linetype generation for
    ;; the polyline.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; To see the effect of changing the linetype generation, set
    ;; the linetype of the polyline to something other than continuous,
    ;; ByBlock, or ByLayer.

    ;; Define the 2D polyline points
    (setq points (vlax-make-safearray vlax-vbDouble '(0 . 14)))
    (vlax-safearray-fill points '(1 1 0
				  1 2 0
				  2 2 0
				  3 2 0
				  4 4 0
				 )
    )
        
    ;; Create a lightweight Polyline object in model space
    (setq modelSpace (vla-get-ModelSpace doc))
    (setq plineObj (vla-AddPolyline modelSpace points))
    (vla-ZoomAll acadObj)
    
    ;; Find the current linetype generation for the polyline
    (alert (strcat "The linetype generation for the polyline is: " (if (= (vla-get-LinetypeGeneration plineObj) :vlax-true) "True" "False")))
    
    ;; Change the linetype generation
    (vla-put-LinetypeGeneration plineObj (if (= (vla-get-LinetypeGeneration plineObj) :vlax-true) :vlax-false :vlax-true))
    (vla-Update plineObj)
    (alert (strcat "The linetype generation for the polyline is now: " (if (= (vla-get-LinetypeGeneration plineObj) :vlax-true) "True" "False")))
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-12 13:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部