找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1673|回复: 9

(完成)[编程申请]:能不能让 solid 柱子也能直接找出形心

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

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

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

×
东哥,能不能写个程序,让 solid 柱子也能直接找出形心,这样有了插入点以后,我也能用晓东工具箱的一些桩系列工具了。拜托了哦。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-5-3 11:29:31 | 显示全部楼层

Re: [编程申请]:能不能让 solid 柱子也能直接找出形心

最初由 yy225cn 发布
[B]东哥,能不能写个程序,让 solid 柱子也能直接找出形心,这样有了插入点以后,我也能用晓东工具箱的一些桩系列工具了。拜托了哦。 [/B]

  1. <normalfont>
  2. ;|
  3.    将封闭的SOLID柱子转换成INSERT柱子,同类截面只生成一个块定义
  4.    可以识别多个SOLID组成的一个柱子
  5.    使用该命令副作用是可以减小图纸尺寸
  6. |;
  7. (defun c:XDTB_ColSolid2Blk (/ ss j m e cls clyr ptl n pt pj blkname ss1)
  8.   (prompt "\n请选取要转换的SOLID柱子实体<退出>:")
  9.   (setq j 0)
  10.   (if (setq ss (ssget '((0 . "solid"))))
  11.     (progn
  12.       (xdrx_begin)
  13.       (setq j 0
  14.             m 0
  15.             clyr (xdrx_getlyrname "柱子")
  16.       )
  17.       (setq ptl (xdrx_searchoutline_all ss))
  18.       (xdrx_SysVar_Push "plinetype")
  19.       (setvar "plinetype" 2)
  20.       (xdrx_setmark)
  21.       (foreach n ptl
  22.         (setq j (1+ j))
  23.         (if (not ($XDLSP_Points_Direction n))
  24.           (setq n (reverse n))
  25.         )
  26.         (setq pt ($XDLSP_Points_Miny->Minx n)
  27.               n ($XDLSP_Points_Resort n pt)
  28.         )
  29.         ($XDLSP_Draw_Pline n t)
  30.         (setq e (entlast))
  31.         (setq pj (xdrx_curve_info e)
  32.               pj (cadr (assoc "Centroid" pj))
  33.         )
  34.         (setq n (reverse (cons (car n) (reverse n)))
  35.               n ($XDLSP_Points_GetSeg n)
  36.         )
  37.         (setq n (mapcar
  38.                   '(lambda (x)
  39.                      (strcat (rtos (apply
  40.                                      'distance
  41.                                      x
  42.                                    ) 2 0
  43.                              ) "_"
  44.                      )
  45.                    )
  46.                   n
  47.                 )
  48.         )
  49.         (setq n (apply
  50.                   'strcat
  51.                   n
  52.                 )
  53.         )
  54.         (setq blkname (strcat "COLUMN_" (xdrx_string_TrimRight n "_")))
  55.         (if (not ($xdlsp_block_isexist blkname))
  56.           (progn
  57.             (setq ss1 (ssadd))
  58.             (ssadd e ss1)
  59.             (xdrx_block_make blkname ss1 pj t)
  60.             (setq m (1+ m))
  61.           )
  62.           (progn
  63.             (entdel e)
  64.             (command ".insert" blkname pj "1" "1" "")
  65.           )
  66.         )
  67.         (xdrx_entity_setlayer (entlast) clyr)
  68.       )
  69.       ($XDLSP_PickSet_Erase ss)
  70.       (xdrx_SysVar_Pop)
  71.       (xdrx_end)
  72.       (if (/= j 0)
  73.         (prompt (strcat "\n成功的转换了 " (itoa m) " 种截面类型的 "
  74.                         (itoa j) " 个Solid柱子"
  75.                 )
  76.         )
  77.         (prompt (strcat "\n没有找到SOLID实体."))
  78.       )
  79.     )
  80.   )
  81.   (princ)
  82. )
  83. </normalfont>



                               
登录/注册后可看大图


下载下面附件,拷贝到晓东工具箱LISP目录,用 xdtb_colsolid2blk 命令执行
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-5-3 12:57:19 | 显示全部楼层
东哥简直太了不起了,就帮我写出来了。谢谢哦。:1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-5-5 20:46:05 | 显示全部楼层
如果那个十字是两条带宽度的pl线画的,也求一下吧!

当然最好是把十字块再回到solid或两带宽度的pl线.

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-5-6 01:18:09 | 显示全部楼层
最初由 aeo 发布
[B]如果那个十字是两条带宽度的pl线画的,也求一下吧!

当然最好是把十字块再回到solid或两带宽度的pl线.

互转.....就那三个形状. [/B]


如果十字,为什么要用两个PL画?为什么不用一个?用两个,中间的部分有线,会有人那么画柱子吗?

XDRX_API里面,有个函数,可以求带宽度PL线的外框,生成外框后,用上面的程序,选择集过滤加上POLYLINE识别,就应该能处理的。

你试着写写,相信你能写出来的。


  1. <normalfont>
  2. 194. xdrx_search_poly_outline

  3. 功能:生成一个POLYLINE的轮廓线

  4. 调用格式:(xdrx_search_poly_outline < poly实体或POLY选择集 > [绘制宽度][封端标志])

  5. 返回值:成功将轮廓线画出。返回生成的轮廓线的选择集

  6. 说明:两个可选参数[绘制宽度][封端标志],不给,默认 宽度0,不管POLY是否闭合,都封端,对于闭合的POLY
  7.      也生成封端的轮廓线

  8.      [封端标志]:若为T,仅仅对封闭的POLY有效,不封端,将生成不连通的两根轮廓线
  9. </normalfont>
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-6-17 18:27:04 | 显示全部楼层
最初由 walkmanlh 发布
[B]怎么搜索实体的外框呢? [/B]


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

使用道具 举报

发表于 2003-6-17 19:56:15 | 显示全部楼层
就是在2002的图中看到的属性是一个实体,想办法得到实体是周围的外框线
就是说建筑图的柱只是一个实体,我要求得到他的外框线,然后把实体删掉。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-19 09:46:10 | 显示全部楼层
请问XDSOFT:这个转换有限制吗?是否任意层上的solid都可以?还有我copy这个lsp到工具箱的lisp目录下,但是不能自动加载,每次都要用appload加载,这是为什么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-8-14 21:22:19 | 显示全部楼层
已经下载附件,但xdtb_colsolid2blk 命令仍不好使,为什麽?
请给我发Email:shy_jl163.com好吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-10 02:25 , Processed in 0.239091 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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