明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1960|回复: 9

[LISP]如何用lisp实现 图形转块

[复制链接]
发表于 2005-10-12 11:24 | 显示全部楼层 |阅读模式

想用lisp实现把图线直接转为块,而不用打开block图框那么麻烦。自己写了一个,能写块,但不能在原地保留块,加了一条插入块的代码也不行,不知道那里错了,求救   -.-!~ ~

(DEFUN C:123() (setq a (substr (RTOS (GETvar "DATE") 2 8) 10 9))
               (setq b (substr (RTOS (GETvar "CDATE") 2 8) 10 9))
               (command ".block" (strcat "cb" a b "x")
               (command ".insert" (strcat "cb" a b "x") "@0,0,0" "" "" ""))

发表于 2005-10-12 12:22 | 显示全部楼层
用copy然后再粘贴为块不是很简单米``
发表于 2005-10-12 12:34 | 显示全部楼层
    是不是块的定义错了,块的定义应该确定一个插入点,
 楼主| 发表于 2005-10-12 13:34 | 显示全部楼层

想用LISP实现会快多,copy然后再粘贴为块比较麻烦,块的拾取点是用鼠标点击。

 (command ".insert" (strcat "cb" a b "x") "@0,0,0" "" "" "")) 后面的 @0,0,0 就是想使用插入点拾取点为插入点

不过不成功。别说位置不正确,块根本就没插入。

发表于 2005-10-12 22:20 | 显示全部楼层

运行后块有米有做成功啦·?··

发表于 2005-10-12 22:32 | 显示全部楼层
试试(command "insert" (strcat "cb" a b "x") "0,0,0" "1" "1" "0")
发表于 2005-10-13 07:50 | 显示全部楼层
(defun C:123 ()
  (setq A (substr (rtos (getvar "DATE") 2 8) 10 9))
  (setq B (substr (rtos (getvar "CDATE") 2 8) 10 9))
  (command ".block" (strcat "cb" A B "x") "0,0,0" (ssget) "")
  (command ".insert" (strcat "cb" A B "x") "0,0,0" "" "" "")
  (princ)
)
 楼主| 发表于 2005-10-13 08:31 | 显示全部楼层
先谢龙版主,运行OK,问题是插入点定在" 0,0,0 " ,这样的话,当使用拉伸命令的时候就拉不动图块,而且如果使用 "转换块"lisp 的话,目标也会插入到0,0,0那里,能否自定插入点?
 楼主| 发表于 2005-10-13 19:50 | 显示全部楼层

自己研究了一番终于知道怎么做了。以下是完成后的程序,简单的程序,大家不要见笑~~ ^.^ (谢谢龙大侠的帮忙)

(defun C:test ()
  (setq A (substr (rtos (getvar "DATE") 2 8) 10 9))
  (setq B (substr (rtos (getvar "CDATE") 2 8) 10 9))
  (setq p1 (getpoint "\n请设定插入点"))
  (command ".block" (strcat "cb" A B "x") P1 (ssget) "")
  (command ".insert" (strcat "cb" A B "x") P1 "" "" "")
  (princ)
)

发表于 2005-10-13 21:14 | 显示全部楼层
  1. (defun c:bb ()
  2.   (setvar "cmdecho" 1)
  3.   (command ".copybase")
  4.   (while (/= 0 (getvar "cmdactive"))
  5.     (command pause))
  6.   (command "_pasteblock")
  7. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-20 10:18 , Processed in 0.359536 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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