找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 794|回复: 4

[LISP程序]:位置交换

[复制链接]
发表于 2003-4-23 09:33:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
(defun c:exchange(/ ss1 ss2  pt1 pt2 os)
   (setq os (getvar "osmode"))
   (setvar "osmode" 0)
   (setvar "blipmode" 0)
  (setvar "cmdecho" 0)
   (menucmd "s=x") (menucmd "s=move")
   (setq ss1 (ssget)
         ss2 (ssget)
         pt1 (upoint 1 "" "第一点" nil nil)
         pt2 (upoint 1 "" "第二点" nil pt1)
   )
   (command "move" ss1 "" pt1 pt2
            "move" ss2 "" pt2 pt1
   )
   (setvar "osmode" os)
   (setvar "blipmode" 1)
  (setvar "cmdecho" 1)
   (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-4-23 10:00:10 | 显示全部楼层

Re: [LISP程序]:位置交换

最初由 wlz088 发布
[B](defun c:exchange(/ ss1 ss2  pt1 pt2 os)
   (setq os (getvar "osmode"))
   (setvar "osmode" 0)
   (setvar "blipmode" 0)
  (setvar "cmdecho" 0)
   (menucmd "s=x") (menucmd "s=move")
   (setq ss1... [/B]

upoint未定义
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-4-23 15:07:14 | 显示全部楼层
  1. ;* UPOINT User interface distance function
  2.                                         ;-----------------------------------------
  3. (defun upoint (bit kwd msg def bpt / inp)
  4.   (if def                                ;text for a default
  5.     (setq pts (strcat (rtos (car def)) "," (rtos (cadr def)))
  6.                                         ;format for 2D point
  7.           msg (strcat "\n" msg " <" pts ">: ")
  8.                                         ;string them with default
  9.           bit (* 2 (fix (/ bit 2)))        ;a default and no null bit code confliet so
  10.     )                                        ;setq                       ;this reduess bit by I if odd,to allow null
  11.     (setq msg (strcat "\n" msg ": "))        ;without default
  12.   )                                        ;if
  13.   (initget bit kwd)
  14.   (if bpt                                ;check for a base point
  15.     (setq inp (getpoint msg bpt))        ;and use it in the GET commands
  16.     (setq inp (getpoint msg))
  17.   )                                        ;if a base point exist
  18.   (if inp
  19.     inp
  20.     def
  21.   )                                        ;Compare the results, return appropriate value
  22. )                                        ;defun
  23.                                         ;*
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-5-1 20:01:01 | 显示全部楼层
说明一下用图,交换什么?参照点位?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-5-1 22:16:36 | 显示全部楼层
好象是将两个选择集的位置交换。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 09:40 , Processed in 0.349271 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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