找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 119|回复: 0

创建匿名组

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-6-5 07:54:39 | 显示全部楼层 |阅读模式
  1. (defun isAppLoaded (app)
  2.    (if (not (member app (arx)))
  3.       (setq bAppLoaded :vlax-false)
  4.       (setq bAppLoaded :vlax-true)
  5.    )
  6.    bAppLoaded
  7. )
  8. (defun Example采用AddLightWeightPolyline()
  9.    (vl-load-com)
  10.    (if (= (isAppLoaded "asdkanonygrplsp.arx") :vlax-false)
  11.       (arxload (findfile "asdkanonygrplsp.arx"))
  12.    )
  13.    (setq oAcad (vlax-get-acad-object)
  14.            oDoc (vla-get-activedocument oAcad)
  15.            *ModelSpace* (vla-get-ModelSpace oDoc)
  16.    )
  17.    ;;Add anonymous group
  18.    (setq myGroup (vl-catch-all-apply
  19.                               'vla-objectidtoobject
  20.                               (list
  21.                                  oDoc
  22.                                  (vlax-make-variant
  23.                                (car (acdbAddAnonGrpRet2Lsp))
  24.                                     vlax-vbLong
  25.                                  )
  26.                               )
  27.                            )
  28.    ) ;setq
  29.    ;;If error encountered making group, then exit
  30.    (if (vl-catch-all-error-p myGroup)
  31.       (princ (vl-catch-all-error-message myGroup))
  32.       ;;otherwise continue...
  33.       (progn
  34.          ;; Define the 2D polyline points
  35.          (setq pt1 (list 1.0 1.0)
  36.                  pt2 (list 1.0 2.0)
  37.                  pt3 (list 2.0 2.0)
  38.                  pt4 (list 3.0 2.0)
  39.                  pt5 (list 4.0 4.0)
  40.          )
  41.      (setq Points (apply 'append (list pt1 pt2 pt3 pt4 pt5)))
  42.          (setq ptlstlen (length Points))
  43.          ;; Make array of 5*2=10 doubles -
  44.      ;; that's an array of dimension 0 to 9
  45.          (setq PointDataA (
  46.         vlax-make-safearray vlax-vbDouble (
  47.                       cons 0 (1- ptlstlen))))
  48.          (vlax-safearray-fill PointDataA Points)
  49.          (setq PointData (vlax-make-variant PointDataA))
  50.       ;; Create a light weight Polyline object in model space
  51.          (setq myLWpoly (
  52.         vla-addLightweightPolyline *ModelSpace* PointData))
  53.          ;; Make array of 1 object (the new LWPolyline)
  54.    (setq myObjA (vlax-make-safearray vlax-vbObject '(0 . 0)))
  55.          (vlax-safearray-put-element myObjA 0 myLWpoly)
  56.          ;; Add the LWPolyline to the group
  57.          (vla-appenditems myGroup myObjA)
  58.       ) ;progn
  59.    ) ;if
  60.    (princ)
  61. )
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-28 02:06 , Processed in 0.182739 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表