明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3280|回复: 17

lisp执行中,能否知道本lisp程序的启动命令是什么?

  [复制链接]
发表于 2011-9-6 10:37:01 | 显示全部楼层 |阅读模式
本帖最后由 mandala 于 2011-9-6 16:57 编辑

这事情是我想歪了,仅仅知道启动命令还不够。是这样:

我有两个主程序,内容基本完全相同,差别在调用同一个子程序时,输入参数不同,导致执行的结果也不同。这样的话,我在一个lsp里要放入两个基本相同的程序,导致这个lsp很大。

所以我想能不能用一个变量来解决,比如我输入aaa命令,调用子程序时就自动输入一组参数;bbb命令时就输入另一组。
这样两个程序可以合并为一个,且不用用户在程序运行时输入选项。因为执行时老是要求输入选项,很麻烦。

大家碰到过这种问题吗?是如何解决的?

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2011-9-6 11:27:39 | 显示全部楼层
这个问题是不是比较另类?主要是想在程序里设一个局部变量,根据不同的主程序调整参数。
发表于 2011-9-6 11:46:13 | 显示全部楼层
有什么意义??
发表于 2011-9-6 14:57:41 | 显示全部楼层
cnks 发表于 2011-9-6 11:46
有什么意义??

有意义,可防止函数背不良目的的调用。
发表于 2011-9-6 15:51:40 | 显示全部楼层
zml84 发表于 2011-9-6 14:57
有意义,可防止函数背不良目的的调用。

这好像防不住吧
 楼主| 发表于 2011-9-6 16:51:04 | 显示全部楼层
本帖最后由 mandala 于 2011-9-6 16:57 编辑

这事情是我想歪了,仅仅知道启动命令还不够。是这样:

我有两个主程序,内容基本完全相同,差别在调用同一个子程序时,输入参数不同,导致执行的结果也不同。这样的话,我在一个lsp里要放入两个基本相同的程序,导致这个lsp很大。

所以我想能不能用一个变量来解决,比如我输入aaa命令,调用子程序时就自动输入一组参数;bbb命令时就输入另一组。这样两个程序可以合并为一个,且不用用户在程序运行时输入选项。因为执行时老是要求输入选项,很麻烦。

大家碰到过这种问题吗?是如何解决的?
发表于 2011-9-6 17:09:28 | 显示全部楼层
都在 调用子程序 之前给个 识别id

依 识别id 给个别参数
发表于 2011-9-6 18:53:00 | 显示全部楼层
mandala 发表于 2011-9-6 16:51
这事情是我想歪了,仅仅知道启动命令还不够。是这样:

我有两个主程序,内容基本完全相同,差别在调用同 ...

用不了这么复杂,很简单的事,如6楼就能搞定
 楼主| 发表于 2011-9-6 19:49:25 | 显示全部楼层
Andyhon 发表于 2011-9-6 17:09
都在 调用子程序 之前给个 识别id

依 识别id 给个别参数

识别id是什么?是不是指需要用(getreal)之类的输入一个选项?然后(if (= id 1)(progn………………)?

问题是我不想这么做,因为程序里设置输入太多的选项,会影响程序执行的流畅性。

能直接从输入命令的不同来判断吗?
发表于 2011-9-6 20:02:22 | 显示全部楼层
楼主不要随便编辑原内容,因为3~5楼已经就原来话题展开讨论,你编辑原内容让别人看了感觉不知所云
------------------------------------------------------------------
6楼是不是这个意思
(defun HHH (mode)
  (if mode
    (command "_.TRIM")
    (command "_.EXTEND")
  )
  (princ)
)
(defun c:hhh1 ()(HHH T))
(defun c:hhh2 ()(HHH nil))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-20 08:38 , Processed in 0.191357 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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