mccad 发表于 2005-5-13 22:02:00

明经CAD杂志(总第11期,2005第5期)出版

主要内容:<BR>业界新闻<BR>       设计本质完美演进─AutoCAD 2006繁体中文版上市<BR>精品图书<BR>       AutoCAD ObjectARX程序开发技术<BR>       AutoCAD 2005中文版标准实例教程<BR>基础应用<BR>       旋转图形时保留原图的方法<BR>       SPLINE偏移后为什么夹点数量会变得很多<BR>       实现X、Y、Z不等比例缩放<BR>       斜线变为水平线的方法<BR>       图纸空间全屏化<BR>       命令前加“-”与不加“-”的区别<BR>       在标注文字时,标注上下标的方法<BR>作品鉴赏<BR>       投影光源总成3D效果<BR>       椅子<BR>开发天地<BR>       获取Windows系统路径的方法<BR>       CAD外挂程序简繁切换<BR>       弧长的标注方法<BR>       保留对话框中上次输入的值<BR>       在VB或VBA中使用延时<BR>       让你的VBA或VB程序也能播音乐<BR>经典源码<BR>        获取多义线的x,y坐标<BR>       扩展数据追加<BR>        两对象交点<BR>       多段线和其他线的交点改为多段线的顶点<BR>       返回对齐标注或转角标注的标注点坐标<BR>       文字加外框<BR>       原位置COPY物件到其它图档<BR>热门讨论<BR>       世界是不是可以拿掉轮子<BR>明经学堂<BR>       使用VB.net开发AutoCAD 2005(四)<BR>       ObjectDCL学习笔记(四)<BR>       三维造型与装配(三)<BR>专题文章<BR>       FSO对象模型在VB中的应用<BR>       用VB操作注册表


下载:<BR><A href="http://www.mjtd.com/mcdown/list.asp?id=532" target="_blank" >http://www.mjtd.com/mcdown/list.asp?id=532</A>


浏览:<BR><A href="http://www.mjtd.com/e-zine/mezine0505.HTM" target="_blank" >http://www.mjtd.com/e-zine/mezine0505.HTM</A>

twinpen 发表于 2005-5-13 22:27:00

thanks!

无痕 发表于 2005-5-13 22:53:00

有新料,顶一顶

无痕 发表于 2005-5-13 23:13:00

补充一个两个曲线实体交点表;| ----梁雄啸.2003.12 完成!
函数: (x_intlst 实体1 实体2 参数)
功能:求两实体的交点表 -----参数合集,实体可以是vla-object或者ename实体;
参数: 0---实交点表;
             1---延伸第一选择实体的交点表;
             2---延伸第二选择实体的交点表;
             3---延伸两个实体的交点表;
|;
;|(setq e1 (vlax-ename->vla-object (car(entsel "\n1:")))
         e2 (vlax-ename->vla-object (car(entsel "\n2:")))
         lst (x_intlst e1 e2 0)) ;测试|;;;;
(defun x_intlst (obj1 obj2 param / intlst1 intlst2 ptlst)
   (if (= 'ENAME (type obj1))(setq obj1 (vlax-ename->vla-object obj1)))
   (if (= 'ENAME (type obj2))(setq obj2 (vlax-ename->vla-object obj2)))
   (setq intlst1 (vlax-variant-value (vla-intersectwith obj1 obj2 param)))
   (if (< 0 (vlax-safearray-get-u-bound intlst1 1))   ;是0< 不能是/=0.
       (progn
         (setq intlst2 (vlax-safearray->list intlst1)) ;得点值表,非点表;
         (while (> (length intlst2) 0)                                 ;3数做一元素生成表;
(setq ptlst (cons (list (car intlst2)(cadr intlst2)(caddr intlst2)) ptlst)
             intlst2 (cdddr intlst2))
         )            
   ) )
ptlst                   ;交点表本身即以x排序,
)

无痕 发表于 2005-5-13 23:20:00

<TABLE class=tableBorder1 cellSpacing=1 cellPadding=0 align=center>
<TBODY>
<TR>
<TD class=tablebody1 vAlign=center align=middle width=46></TD>
<TD class=tablebody1 vAlign=top width=*>
<TABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
<TBODY>
<TR>
<TD class=TopLighNav1 width=* height=22><A name=604></A>多段线和其他线的交点改为多段线的顶点</TD></TR>
<TR>
<TD class=tablebody1 width=* height=20><PRE><FONT color=#800000>作者:</FONT><FONT color=#800000>龙龙仔</FONT></PRE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
漏了一函数:


        <FONT color=#000080>;;(ADD_INTPT &lt;POLYLINE线&gt; &lt;相交线&gt;)<BR>;;(ADD_INTPT &lt;POLYLINE线&gt; &lt;相交线&gt;)<BR>

</FONT>

无痕 发表于 2005-5-13 23:20:00

补充一个扩展数据相关函数;| (xxd-put e app) = entmod方式,给实体添加或更新或删除扩展数据.-----梁雄啸.2004.10.1
参数: e = 实体名.
         app = '("注册名" 项1 项2 ...) ;用于添加或更新. 如(list "test" '(1070 . 1234)'(1003 . "0"))
                     '("注册名") ; 用于删除相关注册项的xdata.
                     nil ; 用于删除实体全部的xdata.
说明: 支持所有实体.非图形实体不支持viewport(必须用 vlax-ldata-put.或setxdata方法).
         参考 entmod 帮助.
相关: 参照 ()函数=vla方式,支持所有的扩展数据修改.
实例: 1.增加(如已经有,则为更新)指定注册名的xdata:
               (xxd-put (car(entsel)) (list "test" (cons 1070 1234)))
               (xxd-put (car(entsel)) (list "test1" (cons 1070 4321)))
         2.删除指定注册名的xdata:
               (xxd-put (car(entsel)) '("test"))
               (xxd-put (car(entsel)) '("test1"))
         3.删除所有的扩展数据:
               (xxd-put (setq e(car(entsel))) nil)
|;
(defun xxd-put (e app)
   (if app (regapp (car app))) ;;无论是否已经有,均注册.有重复的话无不利影响.
   (if app
       (entmod (list (cons -1 e) (list -3 app))) ;;新建,更新,或删除指定app,{用 '("注册名") }.
       (progn                                                                     ;;删除所有的扩展数据.
         (setq apps (mapcar 'car (cdr(assoc -3 (entget e '("*"))))))
         (entmod (list (cons -1 e) (cons -3 (mapcar 'list apps))))
       )
   )
)
;|参考:删除xdata另外方法--by cy956@mjtd.
(defun c:delxdata()
   (setq e(entsel)
               en(entget (car e)))
   (entmod en)
)
|;

yunlong300 发表于 2005-5-14 12:38:00

感谢斑竹的辛勤劳动。

sun-yc 发表于 2005-5-15 16:02:00

一定去学习学习

hhjsmz 发表于 2005-5-15 17:39:00

谢谢,收下了。

pqs001 发表于 2005-5-15 21:52:00

能有一个好的网站,能有一群乐于助人的高手,


cad_redeveloper's fortune
页: [1] 2 3 4
查看完整版本: 明经CAD杂志(总第11期,2005第5期)出版