CASS宗地标注文字简单的单个排版插件

 时间:2024-10-13 03:09:41

1、打开cass软件,在“地籍”中”绘制权属线“命令,绘制一个宗地,并标注文字。提前设好参数,可以和我的图一样。

CASS宗地标注文字简单的单个排版插件

2、命令行输入vbaide并回车,打开vba窗口,在工程窗口右键侑喏嵋甲插入模块,并在右侧模块代码窗口复制粘贴一下代码。Option Explic足毂忍珩itSub az1() '排版,一点二点选方向,三点距离 Const PI = 3.1415927 '定义圆周率PI Dim Num As Integer Dim entry As AcadEntity On Error Resume Next '创建选择集 Dim dk As AcadSelectionSet, dksc As String, F_Type(0) As Integer, F_data(0) As Variant dksc = "dkscmc" If Not IsNull(ThisDrawing.SelectionSets.Item(dksc)) Then Set dk = ThisDrawing.SelectionSets.Item(dksc) dk.Delete End If Set dk = ThisDrawing.SelectionSets.Add(dksc) F_Type(0) = 0 F_data(0) = "TEXT" dk.SelectOnScreen F_Type, F_data '选择集中数Num Num = dk.Count '- 1 '选择三点 Dim pd0 As Variant, pd1 As Variant, pd2 As Variant pd0 = ThisDrawing.Utility.GetPoint(, "选择第一点") pd1 = ThisDrawing.Utility.GetPoint(, "选择第二点") pd2 = ThisDrawing.Utility.GetPoint(, "选择第三点") '平分单个距离aX,aY Dim aX As Double, aY As Double aX = (pd1(0) - pd0(0)) / Num: aY = (pd1(1) - pd0(1)) / Num '旋转角度xzd Dim xzd As Double xzd = Atn(Abs((pd1(1) - pd0(1)) / Abs(pd1(0) - pd0(0)))) If pd0(0) > pd1(0) And pd0(1) < pd1(1) Then xzd = PI - xzd ElseIf pd0(0) > pd1(0) And pd0(1) > pd1(1) Then xzd = xzd - PI ElseIf pd0(0) < pd1(0) And pd0(1) < pd1(1) Then xzd = xzd ElseIf pd0(0) < pd1(0) And pd0(1) > pd1(1) Then xzd = 0 - xzd End If '左侧垂直单位向量 Dim x As Double, y As Double x = -(pd1(1) - pd0(1)) / Sqr((pd1(1) - pd0(1)) ^ 2 + (pd1(0) - pd0(0)) ^ 2) y = (pd1(0) - pd0(0)) / Sqr((pd1(1) - pd0(1)) ^ 2 + (pd1(0) - pd0(0)) ^ 2) '第三点到直线的距离 Dim A As Double, B As Double, C As Double A = (pd1(1) - pd0(1)) / (pd1(0) - pd0(0)) B = -1 C = pd0(1) - A * pd0(0) '左侧垂直偏移距离d,字高H Dim d As Double, H As Double H = 1.2 '文字高度 d = Abs((A * pd2(0) + B * pd2(1) + C) / Sqr(A ^ 2 + B ^ 2)) / 2 - H / 2 pd0(0) = pd0(0) + d * x pd0(1) = pd0(1) + d * y '移动坐标 Dim i As Integer i = 0 pd0(0) = pd0(0) + aX / 2 pd0(1) = pd0(1) + aY / 2 For Each entry In dk entry.height = H entry.Alignment = acAlignmentLeft entry.Rotation = xzd entry.Move entry.insertionPoint, pd0 pd0(0) = pd0(0) + aX pd0(1) = pd0(1) + aY i = i + 1 Next entryEnd Sub

CASS宗地标注文字简单的单个排版插件

3、双击AutoCAD对象中的ThisDrawing,在其右侧代码窗口输入以下代码。Publi罕铞泱殳c TestL泠贾高框oad As BooleanPrivate Sub AcadDocument_EndCommand(ByVal CommandName As String) If Not TestLoad Then ThisDrawing.SendCommand "(defun c:as()(vl-vbarun ""az1"")(princ))(princ)" & vbCr TestLoad = True End IfEnd Sub

CASS宗地标注文字简单的单个排版插件

4、点击vba中的保存。选在保存路径,工程名称。关闭vba窗口。

CASS宗地标注文字简单的单个排版插件
CASS宗地标注文字简单的单个排版插件

5、在命令行中输入设置的快捷键“as”,并选择要排版文字,选择第一点,第二点,第三点,完成文字排版。如图。

CASS宗地标注文字简单的单个排版插件

6、选择文字,可以从右下囿鹣分胰向左上框选,最终文字前后顺序为文字原来生成时的顺序。如果文字时一个一个点选的,最终排序会是点击选择的前后顺序。选择第一点第二点,第三点如图。第一点与第二点,确定的直线方向为文字排齐侯的底边方向。第三点如图所示可以选上边线段的任意点,第三点目的时确定,宗地两边距离,进一步确定文字便宜距离。

CASS宗地标注文字简单的单个排版插件

7、如果读者有看不懂或者发现有错误欢迎互相交流,我只是一个应用爱好者。

CASS宗地标注文字简单的单个排版插件
  • CAD2014比较卡,CAD很卡,怎么办
  • 天正CAD如何画墙体工程
  • 草图大师SketchUp怎么制作专用面板?
  • CAD中如何将图形前置和后置
  • 在cass中如何将假设坐标转换成本地坐标
  • 热门搜索
    关于热爱祖国的手抄报 教师手抄报 英语圣诞节手抄报 五一的手抄报 五年级手抄报图片大全 学会感恩手抄报 读书手抄报花边 书韵飘香手抄报 关于动物的手抄报 劳动节手抄报简单漂亮