entmake创建图元必要条件(慢慢更新)
本帖最后由 langjs 于 2020-9-10 09:18 编辑entmake创建图元较command速度快,且不受捕捉等CAD环境因素影响,因此优先选用entmake。entmake创建图元必要条件,即创建图元的最少组码项,再少就无法正确创建图元,实际使用中需要颜色、图层等组码项自己添加。水平有限,欢迎拍砖。
**** Hidden Message *****
26、生成SOLID (pt1234四点围成图形,如三点则最后两点相同)
(entmake (list '(0 . "SOLID") (cons 10 pt1)(cons 11 pt2) (cons 12 pt4) (cons 13 pt3)))
27、 Entmake构造线(射线)
by:自贡黄明儒 http://bbs.mjtd.com/thread-109700-1-1.html
28、[功能]生成带凸度多段线
;;[用法](LC:make-arcpline (getpoint "\n 请输入圆弧第一点:") (getpoint "\n 请输入圆弧第二点:") (getreal "\n 请输入圆弧凸度:"))
;;[作者]BY 老仓测绘上班记
;;;(setq pt1 (getpoint "\n 请输入圆弧第一点:")
;;; pt2 (getpoint "\n 请输入圆弧第二点:")
;;; arcBulge -0.426309)
(defun LC:make-arcpline (pt1 pt2 arcBulge / pt1 pt2 arcBulge arclst)
(setq arclst (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") '(90 . 2) (cons 10 pt1)
(cons 42 arcBulge) (cons 10 pt2)))
(entmake arclst)
)
暂时先这么多,以后再补充。另提供CAD图元群码表供查询
Theswamp.org 有个函数(defun MinDxfDef ( ename / result temp )
;;will create crap if the current or parent
;;layer of the candidate entity is locked
(foreach pair (setq result (entget ename))
(if (entmakeX (setq temp (vl-remove pair result)))
(progn (entdel (entlast))(setq result temp))
result
)
)
) 本帖最后由 革天明 于 2012-6-25 13:10 编辑
谢谢楼主分享对于mtext,控制文字的对齐格式可以使用以下组码:
(71 . 1) 左对齐-上对齐这个是默认的对齐方式
(71 . 4) 左对齐-中央对齐
(71 . 7) 左对齐-下对齐
(71 . 2) 居中对齐-上对齐
(71 . 5) 居中对齐-中央对齐
(71 . 8) 居中对齐-下对齐
(71 . 3) 右对齐-上对齐
(71 . 6) 右对齐-中央对齐
(71 . 9) 右对齐-下对齐
如果使用替换文字编辑器,则通过输入格式代码应用格式。 可为文字加下划线、删除线和创建堆叠文字。 用户可以修改颜色、字体和文字高度, 还可以修改文字字符间距或增加字符本身宽度。 要应用格式,请使用下表中列出的格式代码:
段落格式代码
格式代码作用输入...要生成 ...
\0...\o打开和关闭 下划线Autodesk \OAutoCAD\omk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex001v.gif
\L...\l打开和关闭 下划线Autodesk \LAutoCAD\lmk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex002v.gif
\~插入不间断 空格Autodesk AutoCAD\~LTmk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex003v.gif
\\插入反斜杠Autodesk \\AutoCADmk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex004v.gif
\{...\}插入左大括号和右大括号Autodesk \{AutoCAD\}
\Cvalue; 修改为 指定的颜色Autodesk \C2;AutoCAD mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex006v.gif
\ File name;修改为 指定的字体文件Autodesk \Ftimes; AutoCADmk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex007v.gif
\Hvalue; 修改为 以图形单位表示的 指定文字高度Autodesk \H2;AutoCADmk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex008v.gif
\Hvaluex; 将文字高度修改为 当前样式文字高度的 数倍Autodesk \H3x;AutoCADmk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex009v.gif
\S...^...;堆叠 \、# 或 ^ 符号后的文字1.000\S+0.010^-0.000;mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex010v.gif
\Tvalue;调整字符间距,从 .75 到 4 倍\T2;Autodeskmk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex011v.gif
\Qangle;修改倾斜角度\Q20;Autodeskmk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex012v.gif
\Wvalue;修改宽度比例生成宽字\W2;Autodesk mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex013v.gif
\A设置对齐方式值,有效值为:0、1、2 (底端对正、居中对正、顶端对正)\A1;1\S1/2mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex014v.gif
\P结束段落Autodesk\PAutoCAD mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/mtex015v.gif
大括号最多可以嵌套八层。 也可以使用控制代码添加特殊的字符,例如公差和标注符号。 请参见 MTEXT。 样例:在替换文字编辑器中设置文字格式 本例说明了下图中的文字是如何创建的。 mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_aug.chm::/online_art/muw1220u.gif通过输入控制代码或 Unicode 字符串可以输入以下特殊字符或符号。 或在在位文字编辑器中,在展开的工具栏上单击“符号”。 注意 不支持在垂直文字中使用符号。
Unicode 字符串和控制代码
控制代码Unicode 字符串结果
%%d \U+00B0 度符号 (°)
%%p \U+00B1 公差符号 (±)
%%c \U+2205 直径符号 (∅)
要插入以下文字符号,请在展开的“文字格式”工具栏上单击“符号”,或输入适当的 Unicode 字符串:
文字符号和 Unicode 字符串
名称符号Unicode 字符串
几乎相等mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/almost_equal.gif\U+2248
角度mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/angle.gif\U+2220
边界线mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/boundary_line.gif\U+E100
中心线mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/center_line.gif\U+2104
增量mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/delta.gif\U+0394
电相位mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/electrical_phase.gif\U+0278
流线mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/flow_line.gif\U+E101
标识mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/identity.gif\U+2261
初始长度mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/Initial_length.gif\U+E200
界碑线mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/monument_line.gif\U+E102
不相等mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/not_equal.gif\U+2260
欧姆mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/ohm.gif\U+2126
欧米加mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/omega.gif\U+03A9
地界线mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/plate_property.gif\U+214A
下标 2mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/subscript2.gif\U+2082
平方mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/superscript2.gif\U+00B2
立方mk:@MSITStore:C:\Program Files\Autodesk\MDT 2006\help\acad_acr.chm::/online_art/superscript3.gif\U+00B3
以上文字符号适用于下列 TrueType (TTF) 字体和 SHX 字体:
Simplex RomanS Isocp Isocp2 Isocp3 Isoct Isoct2 Isoct3 Isocpeur(仅 TTF 字体) Isocpeur italic(仅 TTF 字体) Isocteur(仅 TTF 字体)[*]Isocteur italic(仅 TTF 字体)
谢谢楼主 收藏了 希望能继续补充 好东西,鼓励 多谢楼主分享。 研究的挺透,赞一个! 总结的不错... 很好, 写的很好 学习了 感谢楼主分享,学习了! 可以做成函数