我们知道在CAD中,如果我们在命令前面加一个单引号,则为透明命令。透明命令就是一个命令还没结束,中间插入另一个命令,然后继续完成前一个命令。插入的命令即透明命令,插入透明命令是为了更方便的完成第一个命令。如"about"命令,可打开"关于对话",但如果我正在画线(还没有结束),突然想打开"关于对话",则输入"'about "命令即可。

我们在实际写代码的过程中,也可能用到透明命令,自定义透明命令最关键的是vlax-add-cmd函数。下面是一个示例程序:

我先定义了一个函数exam,其主要作用是输出一句话;然后调用vlax-add-cmd函数,将调用exam函数,并设置为透明命令。来看一下vlax-add-cmd函数的语法。

函数:vlax-add-cmd

语法:(vlax-add-cmd global-name func-sym [local-name cmd-flags])

功能:可以将函数定义为 AutoCAD 命令,而无需在函数名中使用 c: 前缀;也可以定义透明 AutoLISP 命令,而对于 c: 函数,不能使用此函数来定义。

参数

global-name必选,字符串,命令名;

func-sym必选,符号,函数名;

local-name 可选,字符串,命令别名,缺省值为 global-name;

cmd-flags 可选,整数型,命令标志码,确定了命令的一些特性缺省值为 ACRX_CMD_MODAL + ACRX_CMD_REDRAW;

主要标志有:

ACRX_CMD_MODAL (0) 在使用其他命令时不能调用该命令。

ACRX_CMD_TRANSPARENT (1) 在使用其他命令时可以调用该命令。

二级标志有:

ACRX_CMD_USEPICKSET (2) 检索选择优先集时,在 AutoCAD 中清除设置。命令能够获取优先集,但不能检索或设置夹点。

ACRX_CMD_REDRAW (4) 检索选择优先集或夹点集时,不将它们从 AutoCAD 中清除。命令可获取优先集和夹点集。

参考:http://help.autodesk.com/view/ACD/2015/ENU/?guid=GUID-42392DA4-4A2B-4D34-AA7B-A5ACAF727E54

http://www.mjtd.com/helpcenter/autolisp/ALR.default.321.htm

自定义Lisp透明命令的更多相关文章

  1. 自定义圆角透明的Dialog

    自定义圆角透明的Dialog 说明 系统默认的Dialog默认是背景不透明的,有时候项目需要Dialog为圆角透明,这个时候的解决方案就是---重写Dialog - 系统样式 - 自定义以后的样式 自 ...

  2. .net 自定义AOP,透明代理与真实代理

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...

  3. Django编写自定义manage.py 命令

    官网文档地址:编写自定义 django-admin 命令 金句: 你所浪费的今天,正是昨天死的人所期待的明天. 开篇话: python manage.py <command> 的命令我们用 ...

  4. 同时运行多个scrapy爬虫的几种方法(自定义scrapy项目命令)

    试想一下,前面做的实验和例子都只有一个spider.然而,现实的开发的爬虫肯定不止一个.既然这样,那么就会有如下几个问题:1.在同一个项目中怎么创建多个爬虫的呢?2.多个爬虫的时候是怎么将他们运行起来 ...

  5. Hive基础之自定义封装hivefile命令

    存在的问题:当把hql写到shell中,不方便阅读:但把hql写到文件中,又传递不了参数:怎么办呢? 自定义hivefile 执行方式形如: 第一个参数为要执行的hql文件,后续的参数为要替换的key ...

  6. Laravel 5.1 中创建自定义 Artisan 控制台命令实例教程

    1.入门 Laravel通过Artisan提供了强大的控制台命令来处理非浏览器业务逻辑.要查看Laravel中所有的Artisan命令,可以通过在项目根目录运行: php artisan list 对 ...

  7. 【Django】如何自定义manage.py命令? 达到启动后台进程的目的?

    代码: #-*- coding:utf- -*- """ The handle active user mail send """ from ...

  8. Laravel创建自定义 Artisan 控制台命令实例教程

    来源:http://laravelacademy.org/post/1374.html 1.入门 Laravel通过Artisan提供了强大的控制台命令来处理非浏览器业务逻辑.要查看Laravel中所 ...

  9. 编写自定义的django-admin命令

    先写标题内容后续补充上 官方文档如下 :http://python.usyiyi.cn/documents/django_182/howto/custom-management-commands.ht ...

随机推荐

  1. bzoj 3252: 攻略 -- 长链剖分+贪心

    3252: 攻略 Time Limit: 10 Sec  Memory Limit: 128 MB Description 题目简述:树版[k取方格数]   众所周知,桂木桂马是攻略之神,开启攻略之神 ...

  2. 开发移动端web页面click事件失效问题

    这两天在做一个WAP页面,在chrome上模拟移动端的时候,都好好的,然而放到手机上测试时, 发现有些点击事件直接无反应,但是有些有反应: 难道是由于我页面上有用到滚动插件,里面的touch事件的pr ...

  3. ASP.NET 构建高性能网站 架构设计

    Web前端系统 为了达到不同应用的服务器共享.避免单点故障.集中管理.统一配置等目的,不以应用划分服 务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过 ...

  4. 使用HAproxy如何实现web站点的动静分离

    HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.      HAProxy特别 适用于那些负载特大的web站点,这些站点通常 ...

  5. 亚马逊API的使用

    如上文所说,一个日本友人想要在亚马逊开店,托我帮他做一个小应用.他想实现的主要功能是,定时获取某个商品的最低价,如果这个价格不在他设定的范围内了,就给他发送邮件提醒. 为了帮助我完成程序,他还给我找到 ...

  6. Towelroot v3.0版发布 将支持更多设备 Towelroot v3.0下载

    Towelroot虽然已经发布一段时间了,虽然所Towelroot可以一键ROOT很多设备,虽然它只有100多K.不过还是有一小部分的机型没办法ROOT成功的,也不知道什么原因.不过不用担心,Geoh ...

  7. window api 监控

    http://pnig0s1992.blog.51cto.com/393390/704189

  8. 淘宝API得到单个商品的信息,用了淘宝的SDK...

    淘宝api获取到的数据.返回结果可以选择json格式和xml格式的啊.每个api下面都有sdk调用示例哦. 详细:http://wenwen.soso.com/z/q335640192.htm 淘宝开 ...

  9. static关键字与方法区和类加载

    1.static的作用 答:将成员变量或方法存储进方法区.因为方法区能保证数据只存在一份,只会加载一次(类加载器加载类的时候才加载一次) 注:static Object obj = new Objec ...

  10. MySql 数据库导入"Unknown command '\n'."错误解决办法

    原文地址:http://www.cnblogs.com/bingxueme/archive/2012/05/15/2501999.html 在CMD 下 输入: Mysql -u root -p -- ...