明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3604|回复: 12

[求助]属性块

  [复制链接]
发表于 2004-11-24 18:36 | 显示全部楼层 |阅读模式
把一个物体(比方说圆)和文字做成一个块后,每次插入这个块的时候,文字可以自己输入,例如:我把一个圆和数字1做成一个带属性的块以后,每次插入的时候,数字1可以手动输入变为5或者6或者其他,请各位大虾帮帮忙!(最好做成lisp程序,因为我还有其他的地方要用!比如:把一个圆分成上下2部分,上部分的数字,每次COPY后,能自动递增,下面的数字不变,这和上面请求编写的程序有点相似)
发表于 2016-10-30 10:22 | 显示全部楼层
非常好的资料,谢谢楼主分享啊
发表于 2016-10-25 08:59 | 显示全部楼层
很不错的程序,谢谢楼主分享
发表于 2004-11-24 19:26 | 显示全部楼层
这种东西没有比如的,必须针对每个块单独编程,所以你得把某些东西确定了才行。。。你可以先做好一个属性块,然后才可以针对这个属性块编一个拷贝的程序,使得拷贝时能增加相应的值
 楼主| 发表于 2004-11-24 20:28 | 显示全部楼层
那就请帮忙编写一个属性块。如图。

本帖子中包含更多资源

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

x
发表于 2004-11-25 10:17 | 显示全部楼层
下面的程序是用来拷贝图中的属性块的,现在要满足你的要求,程序和我给你的图中的属性块都必须有才行。。。拷贝命令:cok
  1. (defun c:cok( / ent ent2 ent3 ents k i)
  2.    (setq ent (entlast))
  3.    (command "_.copy" pause pause)
  4.    (setq i 0)
  5.    (while (= (getvar "cmdactive") 1)
  6.        (command pause)
  7.        (setq ent2 (entlast))
  8.        (setq ent3 (entnext ent2))
  9.        (setq ents (entget ent3))
  10.        (if (not (equal ent ent2))
  11.            (progn
  12.   (if (= i 0)
  13.      (setq k (cdr (assoc 1 ents)))         
  14.   )
  15.   (setq k (add k 1))
  16.   (setq i (1+ i))
  17.   (setq ents (subst (cons 1 k) (assoc 1 ents) ents))
  18.   (entmod ents)
  19.   (entupd ent2)
  20.   (setq ent ent2)
  21.              )
  22.        )
  23.    )
  24.    (command "_.regen")
  25.    (princ)
  26. )
  27. (defun add(ch num / i n ch2 k)
  28.    (setq i 0
  29.   n (strlen ch)
  30.   ch2 "")
  31.    (while (wcmatch (setq k (substr ch (- n i) 1)) "[0-9]")
  32.        (setq ch2 (strcat k ch2))
  33.        (setq i (1+ i))
  34.    )
  35.    (setq ch2 (itoa (+ (atoi ch2) num)))
  36.    (strcat (substr ch 1 (- n i)) ch2)
  37. )

本帖子中包含更多资源

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

x
 楼主| 发表于 2004-11-25 16:45 | 显示全部楼层
谢谢!但是,每次都只能copy一个,能不能再改进一下,可以连续呢?
发表于 2004-11-25 16:50 | 显示全部楼层
copy本身有连续功能。。。 我这个命令在使用是跟copy是一模一样的,只不会最后要修改那些属性块而已。。。 Command: copy Select objects: 1 found Select objects:
Specify base point or displacement, or [Multiple]: m
Specify base point: Specify second point of displacement or <use first point as
displacement>: Specify second point of displacement or <use first point as
displacement>: Specify second point of displacement or <use first point as
displacement>: Specify second point of displacement or <use first point as
displacement>:
 楼主| 发表于 2004-11-25 17:34 | 显示全部楼层
我想把你那个属性块,插入到别的图中使用,可是好像不行呢?能否告诉我你那个属性块的制作方法?不然,我就只能在你给我的那张图中使用,好像意义不是很大!
 楼主| 发表于 2004-11-27 16:11 | 显示全部楼层
楼上的请帮帮忙阿!


&amp;nb赶p;
发表于 2004-11-27 18:43 | 显示全部楼层
我4楼开始已经说明了这个问题,你把属性块拷过去就行了
 楼主| 发表于 2004-11-28 17:19 | 显示全部楼层
非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 09:25 , Processed in 0.386949 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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