【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]字符串比较 前面的话 前面已 ...
随机推荐
- Archlinux 添加无线网络
From: https://wiki.archlinux.org/index.php/Beginners%27_Guide_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%8 ...
- 移动设备页面高度不足时min-height 的尴尬处理
移动设备页面高度不足时min-height 的尴尬处理 在做html5的页面时,经常遇到页面内容太少撑不起来整个手机屏幕的高度. 我们经常使用min-height来处理,比如min-height:56 ...
- mac配置nginx
基本的安装其实网上一大半教程: 安装:brew install nginx 配置注意要点: 1.主要配置监听的端口和php-fpm监听的端口相同可以配置成默认的:(127.0.0 ...
- 解决EditorLineEnds.ttr被锁定导致Delphi2006-2010无法启动的问题
在批处理最后增加了启动Delphi的命令.将批处理和Delphi放在同一目录即可. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
- ntc 热敏电阻
来自维基百科 http://zh.wikipedia.org/zh/%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB 热敏电阻的电阻值是根据温度由公式计算而来的,知道这一点就 ...
- mysql.sock的作用
1.在编译安装mysql的时候,会将mysql的配置文件复制到/etc/my.conf中: [root@Web-lnmp02 mysql]# cp support-files/my-small.cnf ...
- handler 异步执行(进度条加载到100)
生明一个handler 对象(可重写handlerMessage 方法) 声明一个Runnable 对象,需重写run方法 按钮事件:handler对象实例的post方法调用线程. 线程的run方法开 ...
- DataGridView控件“至少有一列没有单元格模板”问题处理
这个问题一般是没有设置单元格模板造成的. mdgv.Columns[].CellTemplate = new DataGridViewTextBoxCell();
- widows下jieba分词的安装
在切词的时候使用到jieba分词器,安装如下: 切入到结巴包,执行 python setup.py install 安装后,可以直接在代码中引用: import jieba
- 初识ASP.NET CORE:二、优劣
Which one is right for me? ASP.NET is a mature web platform that provides all the services that you ...