天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 87|回复: 0

grdraw用法 lisp_动态块控制核心程序

[复制链接]
  • TA的每日心情
    开心
    2024-8-31 15:58
  • 签到天数: 89 天

    [LV.6]常住居民II

    488

    主题

    207

    回帖

    3366

    积分

    管理员

    积分
    3366
    发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
    [code];;;加载Vlisp扩展

    (vl-load-com)

    ;;;---------主程序:---------

    ;;;定义CAD快捷键

    (defun c:wd ()

    ;;;调用应用程序

    (xyls-dynbox-1)

    (prin1)

    )

    ;;;;###################应用程序#######################

    ;;;设置动态块[特定]属性---------

    (defun xyls-dynbox-1 ()

    (setvar "cmdecho" 0)

    ;;在屏幕上选择两点

    (setq point_1 (getpoint "\nPoint 1 :"))

    (setq point_2 (getpoint point_1 "\nPoint 2 :"))

    ;;画临时示意线

    (grdraw point_1 point_2 1 1)

    ;;计算两点间的距离

    (setq par_dist_1 (distance point_1 point_2))

    ;;取得两个通用函数需要的动态块,需要vla-object对象

    (setq data_dynblk (vlax-ename->vla-object (car (entsel "请选择动态块"))))

    ;;取得所有动态块的参数,并在命令栏输出

    (print (xyl-getdynallpropvalue data_dynblk))

    ;;lm-setdynpropvalue函数的动态块参数,需要String类型

    (setq data_dynbox1_data_1 (rtos par_dist_1))

    ;;获得想要控制的动态块参数名称,需要String类型

    (setq        par_prp

    (getstring "\n参考命令栏提示,请输入想要控制的动态块参数:")

    )

    ;;调用lm-setdynpropvalue函数控制动态块

    (lm-setdynpropvalue

    data_dynblk

    par_prp

    data_dynbox1_data_1

    )

    )

    ;;;;###################通用函数#######################

    ;;;---------通用函数1:设置动态块[特定]属性(Lee-Mac提供)---------

    (defun lm-setdynpropvalue (blk prp val)

    (setq prp (strcase prp))

    (vl-some

    '(lambda (x)

    (if (= prp (strcase (vla-get-propertyname x)))

    (progn

    (vla-put-value

    x

    (vlax-make-variant

    val

    (vlax-variant-type (vla-get-value x))

    )

    )

    (cond (val)

    (t)

    )

    )

    )

    )

    (vlax-invoke blk 'getdynamicblockproperties)

    )

    )

    ;;;---------通用函数2:获得动态块所有属性(明经CAD论坛提供)---------

    (defun xyl-getdynallpropvalue (par_blkref)

    (setq Pros (vlax-invoke par_blkref 'GetDynamicBlockProperties))

    (mapcar '(lambda (X)

    (cons (vlax-get X 'PropertyName) (vlax-get X 'Value))

    )

    Pros

    )

    )
    [/code]

     

     

     

     

    grdraw用法 lisp_动态块控制核心程序
    中国膜结构网打造全中国最好的膜结构综合平台 ,统一协调膜结构设计,膜结构施工,膜材采购,膜材定制,膜结构预算全方位服务。 中国空间膜结构协会合作单位。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池| |网站地图

    GMT+8, 2024-9-8 10:42 , Processed in 0.064570 second(s), 26 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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