找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1212|回复: 11

[请教]:请教无名块的做法

[复制链接]
发表于 2003-12-5 11:19:00 | 显示全部楼层 |阅读模式

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

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

×
听摊主说,无名块是编程实现的,故在这里
请教无名块的做法??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-12-5 14:29:30 | 显示全部楼层
什么叫无名块
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-12-6 16:50:47 | 显示全部楼层
无名块和普通块是一摸一样的,就是名字要写成 "*??"

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

使用道具 举报

发表于 2003-12-6 20:21:04 | 显示全部楼层
我真是孤陋寡闻我都用cad三年了竟然没有遇到过。那么这种块存在层和属性吗。是怎么形成的呢????
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-7 13:09:23 | 显示全部楼层
一个例子:创建匿名块的函数
其中,ss1为实体选择集,pt1为匿名块的插入点


  1.   [FONT=courier new]
  2. (defun QAEC_UBlock (ss1 pt1 / i n num)
  3.   (if (and ss1 pt1)
  4.    (progn
  5.     (entmake (list '(0 . "BLOCK")'(2 . "*U")'(70 . 1)(cons 10 pt1)))
  6.     (setq i (sslength ss1) n (- 1))
  7.     (repeat i
  8.       (entmake (cdr (entget (ssname ss1 (setq n (1+ n))))))
  9.     ); repeat
  10.     (setq num (entmake '((0 . "ENDBLK")) ))
  11.     (command "erase" ss1 "")
  12.     (entmake (list '(0 . "INSERT")(cons 2 num)(cons 10 pt1)))
  13.    );progn
  14.    nil
  15.   );if
  16. );end QAEC_UBlock
  17.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-7 13:12:48 | 显示全部楼层
再转一个:
创建并插入匿名块
创建并插入匿名块
发信站: 福州大学庭芳苑BBS站 (2002年10月31日13:51:41 星期四), 转信

; ablock.lsp
;创建并插入匿名块,在文件 "HANDFILE.TXT"中用描述的名字存储它们的句柄。

(defun C:ABLOCK (/ ins_pt num ss1 i n)
   (if (/= (getvar "HANDLES") 1) (command "HANDLES" "ON"))
   (setq f1 (open "handfile.txt" "w"))
   (write-line "项目名称和处理文件" f1)
   (close f1)
   (setq f1 (open "handfile.txt" "a"))
   (setq more t)
   (while more
      (initget "eXit")
      (setq ins_pt nil)
      (setq ins_pt (getpoint "\n插入点/<eXit>: "))
      (if (or (= ins_pt nil) (= ins_pt "eXit"))
         (progn
            (setq more nil)
         ); progn
         (progn
            (entmake (list '(0 . "BLOCK")'(2 . "*U")'(70 . 1)(cons 10
ins_pt)))
            (prompt "\n选择实体")
            (setq ss1 (ssget) i (sslength ss1) n (- 1))
            (repeat i
               (entmake (cdr (entget (ssname ss1 (setq n (1+ n))))))
            ); repeat
            (setq num (entmake '((0 . "ENDBLK")) ))
            (entmake (list '(0 . "INSERT")(cons 2 num)(cons 10
ins_pt)))
            (command "move" "L" "" ins_pt pause "redraw")
            (setq hndl (cdr (assoc 5 (entget (entlast)))))
            (setq zzname (getstring "\n项目名称: "))
            (write-line (strcat zzname " " hndl) f1)
         ); progn
      ); if
   ); while
   (close f1)
   (princ)
); ablock
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2003-12-7 19:20:37 | 显示全部楼层
最初由 playboy 发布
[B]我真是孤陋寡闻我都用cad三年了竟然没有遇到过。那么这种块存在层和属性吗。是怎么形成的呢???? [/B]


其实它真正的名称应该叫匿名块。
呵呵,不是你没遇到过,而是你没注意到。在AutoCAD中,标注采用的是匿名块,填充采用的也是匿名块,除非你没有使用这两类实体。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-8 11:17:34 | 显示全部楼层
最初由 Qlin 发布
[B]一个例子:创建匿名块的函数
其中,ss1为实体选择集,pt1为匿名块的插入点

[CODE]
  
(defun QAEC_UBlock (ss1 pt1 / i n num)
  (if (and ss1 pt1)
   (progn
    (entmake (list '(0 .... [/B]



程序缺点,对polyline及带属性图块会出错,
更简单的方法可以用正常的方式建图块,再改为匿名块
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-12-8 14:38:12 | 显示全部楼层
最初由 Qlin 发布
[B]再转一个:
创建并插入匿名块
[QUOTE]
创建并插入匿名块
发信站: 福州大学庭芳苑BBS站 (2002年10月31日13:51:41 星期四), 转信

; ablock.lsp
;创建并插入匿名块,在文件 "HANDFILE.TXT"中用描述的名字存储它... [/B]


再问个问题,
1. 匿名块主要有什么用途,比其他的块有什么优势!
2. 你提供的程序中要我输入项目名称是什么意思?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-11 12:38:38 | 显示全部楼层
最初由 LUCAS 发布
程序缺点,对polyline及带属性图块会出错,
更简单的方法可以用正常的方式建图块,再改为匿名块



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

使用道具 举报

发表于 2003-12-11 15:21:39 | 显示全部楼层
查看
http://www.xdcad.net/forum/showt ... d=432808#post432808
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-12-15 09:18:47 | 显示全部楼层
用了你上面的程序,把正常图块变匿名块可以,但反过来就不可以~
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 19:14 , Processed in 0.204919 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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