【Visual Lisp】Visual Lisp属性与方法
说明:
Visual Lisp属性的获取、赋值和方法的执行有多种形式。然而对于初学者来说一次性就要全部掌握显然是没有必要的,有时候每种方法都是通用的功能都一样我们就没有必要把所有方法都记住。我们只需要掌握常用的通用性最强的即可。这里方法和属性只用下面几种方式,对于方法名和属性名统一用双引号 “” ,且第一个字母大写,避免混乱。
知识点:
;;;查看对象的属性和方法
(vlax-dump-object obj T)
;;;方法与属性是否适用于某对象
(vlax-property-available-p obj "Property")
(vlax-method-applicable-p obj "Method")
;;;获取属性与修改属性
(vla-get-属性 obj)
(vla-put-属性 obj 参数)
(vlax-get-property obj "Property")
(vlax-put-property obj "Property" 参数)
;;;执行方法
(vlax-invoke-method obj "Method" [方法的参数]...)
例子:
01.查看对象的属性和方法
(vlax-dump-object(vlax-ename->vla-object(car(entsel)))T)
点选一个圆
;特性值:
; Application (RO) = #<VLA-OBJECT IAcadApplication 00d73d3c>
; Area = 12131.9
; Center = (141.556 338.87 0.0)
; Circumference = 390.453
; Diameter = 124.285
; Document (RO) = #<VLA-OBJECT IAcadDocument 01e31958>
; Handle (RO) = "7F"
; HasExtensionDictionary (RO) = 0
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 01fb1c04>
; Layer = "0"
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; Material = "ByLayer"
; Normal = (0.0 0.0 1.0)
; ObjectID (RO) = 2130292792
; ObjectName (RO) = "AcDbCircle"
; OwnerID (RO) = 2130263976
; PlotStyleName = "ByLayer"
; Radius = 62.1425
; Thickness = 0.0
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 0ce59030>
; Visible = -1
;支持的方法
; ArrayPolar (3)
; ArrayRectangular (6)
; Copy ()
; Delete ()
; GetBoundingBox (2)
; GetExtensionDictionary ()
; GetXData (3)
; Highlight (1)
; IntersectWith (2)
; Mirror (2)
; Mirror3D (3)
; Move (2)
; Offset (1)
; Rotate (2)
; Rotate3D (3)
; ScaleEntity (2)
; SetXData (2)
; TransformBy (1)
; Update ()
02.属性和方法是否适用于某对象
(vlax-property-available-p obj "Length") 如果obj是一个圆,返回nil
(vlax-method-applicable-p obj "Move") 如果obj是一个圆,返回T
03.获取属性与修改属性
(vla-get-Color obj) 返回obj的颜色值
(vla-put-Color obj 1) 将obj颜色改为1号色
(vlax-get-property obj "Color") 返回obj的颜色值
(vlax-put-property obj "Color" 1) 将obj颜色改为1号色
04.执行方法
(vlax-invoke-method obj "Delet") 删除对象
【Visual Lisp】Visual Lisp属性与方法的更多相关文章
- visual studio的项目属性表
最近发现一个有趣的东西:visual studio的项目属性表 我下载了cocos2d-x-3.0alpha1,然后发现HelloLua项目配置里没有配include搜索目录和依赖库以及一个Marco ...
- Visual Studio 2010下载 + 附破解方法
Visual Studio 2010下载 + 附破解方法 1.Microsoft Visual Studio 2010下载 旗舰版(Ultimate) http://download.microsof ...
- Visual Studio 2010 C++ 属性设置基础
在 <Visual Studio 2010 C++ 工程文件解读>中提到了C++工程中可以进行用户自定义的属性设置,如何进行属性设置呢? 下面我们来了解一下 props 文件的基本规则: ...
- atitit.java给属性赋值方法总结and BeanUtils 1.6.1 .copyProperty的bug
atitit.java给属性赋值方法总结and BeanUtils 1.6.1 .copyProperty的bug 1. core.setProperty(o, "materialId&qu ...
- VB中的属性、方法和事件概念解析
Visual Basic 语言中的所有对象都有它们自己的属性.方法和事件,其中包括窗体和控件.可以将属性视为对象的特性,将方法视为对象的操作,而将事件视为对象的响应. 日常生活中的对象(如氦气球)也具 ...
- Python全栈开发之7、面向对象编程进阶-类属性和方法、异常处理和反射
一.类的属性 1.@property属性 作用就是通过@property把一个方法变成一个静态属性 class Room: def __init__(self,name,length,width,he ...
- PHP 面向对象编程和设计模式 (2/5) - 静态变量、属性和方法及延迟绑定
PHP高级程序设计 学习笔记 2014.06.10 Static(静态)关键字用来定义静态方法和属性,static 也可用于定义静态变量以及后期静态绑定. 1.静态变量 static variable ...
- 速战速决 (5) - PHP: 动态地创建属性和方法, 对象的复制, 对象的比较, 加载指定的文件, 自动加载类文件, 命名空间
[源码下载] 速战速决 (5) - PHP: 动态地创建属性和方法, 对象的复制, 对象的比较, 加载指定的文件, 自动加载类文件, 命名空间 作者:webabcd 介绍速战速决 之 PHP 动态地创 ...
- String类型的属性和方法
× 目录 [1]属性 [2]对象通用方法 [3]访问字符方法[4]字符串拼接[5]创建子串方法[6]大小写转换[7]查找子串位置[8]正则匹配方法[9]去除首尾空格[10]字符串比较 前面的话 前面已 ...
随机推荐
- eclipse 清楚git记录的密码
菜单:window->preferences弹出上述对话框
- 纸上谈兵:图(graph)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 图(graph)是一种比较松散的数据结构.它有一些节点(vertice),在某些节 ...
- ajax返回值给上层函数的方法。
function load_val(callback){//定义一个回调函数 $.getJSON('test.php' , function(dat){ callback(data);//将返回结果当 ...
- php与ascii码
首先 简单说一下历史,ascii码最开始是美国人搞出来的,用来干什么呢?我们知道,计算机只知道0和1,如果我们要计算机识别除了01之外的字符,例如 'a',我们要先告诉计算机‘1100001’就是'a ...
- unity3d InverseTransformPoint方法
从歪果仁的脚本里看到了这个方法,查脚本,看脚本说明也没看懂,官方的说明是,变换位置从世界坐标到自身坐标,Transform.TransformPoint相反. 试验了一下得出这个结论,如果某一个物体A ...
- CSS盒子模型学习记录1
http://www.blueidea.com/tech/web/2007/4545.asp 代码试验: html代码: <!DOCTYPE html PUBLIC "-//W3C// ...
- 关于mysql和Apache以及nginx的监控脚本怎么写会比较好的记录
最近,自己业务进行上线,上线后,需要考虑的是对各种服务进行监控,包括(httpd服务,mysqld服务等),现在想以mysqld服务为例总结下那种方式的脚本最为专业和合理: (1).根据mysql的端 ...
- codeforce div 377
#include <bits/stdc++.h> using namespace std; #define pb push_back #define lb lower_bound #def ...
- git init 和 git init --bare 的区别
http://blog.csdn.net/ljchlx/article/details/21805231 概念 裸仓储 :不可以在上面做git操作 the operation must be ...
- JSP页面数据展示:分组数据展示
一.描述: 页面上要展示的数据只要写好sql从数据库查出来即可,但是展示有时候不是太好处理.比如工作中遇到的这种情况:有一个问题处理的流程,其中需要选择下一处理人,这些处理人要以部门的形式分组展示,实 ...