找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 667|回复: 2

[原创]:SOME USEFUL VLISP PROGRAMS

[复制链接]
发表于 2005-6-8 09:19:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
;;;SOME SAMPLES
;;;TO DRAW A CIRCLE IN MODEL SPACE
(DEFUN C:CHO()
  (SETVAR "CMDECHO" 0)
  (VL-LOAD-COM)
  (SETQ ADD(VLAX-GET-ACAD-OBJECT))
  (SETQ ADT(VLA-GET-ACTIVEDOCUMENT ADD))
  (SETQ MSPACE(VLA-GET-MODELSPACE ADT))
  (SETQ P1(LIST 0 0 0 ))
  (SETQ CPT(VLAX-3D-POINT P1))
  (SETQ RA 50)
  (VLA-ADDCIRCLE MSPACE CPT RA)
  (PROMPT "HELLO WORLD!")
  (PRINC)
  )
;;;TO DRAW A LIGHTWEIGHTPOLYLINE IN MODEL SPACE
(DEFUN C:TB()
  (VL-LOAD-COM)
  (SETQ ADD(VLAX-GET-ACAD-OBJECT))
  (SETQ ADT(VLA-GET-ACTIVEDOCUMENT ADD))
  (SETQ MSPACE(VLA-GET-MODELSPACE ADT))
  (SETQ PT(VLAX-MAKE-SAFEARRAY VLAX-VBDOUBLE '(0 . 7)))
  (VLAX-SAFEARRAY-FILL PT '(10 10  10 40  40 40  40 10 ))
  (SETQ PL(VLA-ADDLIGHTWEIGHTPOLYLINE MSPACE PT))
  (IF (= (VLA-GET-CLOSED PL) :VLAX-FALSE)
    (VLA-PUT-CLOSED PL :VLAX-TRUE)
    )
  (VLA-REGEN ADT :VLAX-TRUE)
  (VLA-ZOOMEXTENTS ADD)
  (PRINC)
  )
;;;TO MAKE A BLOCK IN MODEL SPACE
(DEFUN WBLOCK()
  (VL-LOAD-COM)
  (SETQ ADD(VLAX-GET-ACAD-OBJECT))
  (SETQ ADT(VLA-GET-ACTIVEDOCUMENT ADD))
  (SETQ MSPACE(VLA-GET-MODELSPACE ADT))
  ;;;;RAY
  (SETQ BASEPNT(VLAX-3D-POINT (LIST 30 30 0)))
  (SETQ SECONPNT(VLAX-3D-POINT (LIST 10 30 0)))
  (SETQ RAYOBJ(VLA-ADDRAY MSPACE BASEPNT SECONPNT))
  ;;;POLYLINE
  (SETQ PNTS(VLAX-MAKE-SAFEARRAY VLAX-VBDOUBLE '(0 . 5)))
  (VLAX-SAFEARRAY-FILL PNTS '(30 70 90 20 30 50))
  (SETQ PLINEOBJ(VLA-ADDLIGHTWEIGHTPOLYLINE MSPACE PNTS))
  (VLA-PUT-CLOSED PLINEOBJ :VLAX-TRUE)
  ;;;LINE
  (SETQ STARTPNT(VLAX-3D-POINT(LIST 0 0 0)))
  (SETQ ENDPNT(VLAX-3D-POINT(LIST 20 20 0)))
  (SETQ LINEOBJ(VLA-ADDLINE MSPACE STARTPNT ENDPNT))
  ;;;CIRCLE
  (SETQ CENTERPNT(VLAX-MAKE-SAFEARRAY VLAX-VBDOUBLE '(0 . 2)))
  (VLAX-SAFEARRAY-FILL CENTERPNT '(20 30 0))
  (SETQ RADIUS 30)
  (SETQ CIRCLEOBJ(VLA-ADDCIRCLE MSPACE CENTERPNT RADIUS))
  ;;;ELLIPSE
  (SETQ CENTER(VLAX-MAKE-SAFEARRAY VLAX-VBDOUBLE '(0 . 2)))
  (VLAX-SAFEARRAY-FILL CENTER '(50 50 0))
  (SETQ MAJAXIS(VLAX-MAKE-SAFEARRAY VLAX-VBDOUBLE '(0 . 2)))
  (VLAX-SAFEARRAY-FILL MAJAXIS '(100 200 0))
  (SETQ RADRATIO 0.3)
  (SETQ ELLOBJ(VLA-ADDELLIPSE MSPACE CENTER MAJAXIS RADRATIO))
  (VLA-ZOOMEXTENTS ADD)
  (SETQ SSETOBJ(VLA-ADD (VLA-GET-SELECTIONSETS ADT) "WBLOCKSET"))
  (SETQ OBJINMODELSPACE(VLAX-MAKE-SAFEARRAY VLAX-VBOBJECT (CONS 0 (- (VLA-GET-COUNT MSPACE) 1))))
  (SETQ I 0)
  (REPEAT (VLA-GET-COUNT MSPACE)
    (VLAX-SAFEARRAY-PUT-ELEMENT OBJINMODELSPACE I (VLA-ITEM MSPACE I))
    (SETQ I (1+ I))
    )
  (VLA-ADDITEMS SSETOBJ OBJINMODELSPACE)
  (VLA-WBLOCK ADT "C:\\AUTOCAD\\WBLOCK_EXAMPLE.DWG" SSETOBJ)
  (PRINC)
  )
;;;PLEASE GIVE ME SOME ADVICE.THANKS A LOT!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-6-8 09:50:09 | 显示全部楼层
CAN YOU TELL ME WHAT'S YOUR MOTHERLAND?
CAN YOU SPEAK CHINESE?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-6-8 12:12:33 | 显示全部楼层
呵呵,不要再问他来自哪了,论坛上写着:
来自shenzhen guang dong (广东深圳)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 06:48 , Processed in 0.359221 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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