乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 113|回复: 7

发一些基本的用法。

[复制链接]

23

主题

83

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2012-12-5 18:32:00 | 显示全部楼层 |阅读模式
1、利用pline线绘制箭头
Sub Example_AddLightWeightPolyline()
Dim plineObj As AcadLWPolyline
Dim points(0 To5) As Double
points(0) =0: points(1) = 0 points(2) = 100: points(3) =0
points(4) = 120: points(5) = 0
Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
Call plineObj.SetWidth(0, 1, 1)  Call plineObj.SetWidth(1, 4, 0)  End Sub
回复

使用道具 举报

23

主题

83

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2012-12-5 18:53:00 | 显示全部楼层
2、绘制已知线段的对称线。
Dim FstPnt As Variant
Dim SndPnt As Variant
dim pt1(0 to 2)  as double
dim pt2(0 to2)  as double

FstPnt = ThisDrawing.Utility.GetPoint(, "选取矩形第一角点:")
SndPnt = ThisDrawing.Utility.GetCorner(FstPnt, "选取矩形对角点:")
'画对角线
Dim plineObj1 As AcadLine
    Set plineObj1 = ThisDrawing.ModelSpace.AddLine(FstPnt, SndPnt)
pt1(0) = FstPnt(0): pt1(1) = SndPnt(1): pt1(2) = 0
pt2(0) = SndPnt(0): pt2(1) = FstPnt(1): pt2(2) = 0
Dim plineObj2 As AcadLine
    Set plineObj2 = ThisDrawing.ModelSpace.AddLine(pt1, pt2)
回复

使用道具 举报

23

主题

83

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2012-12-5 18:58:00 | 显示全部楼层
3、在图上拾取斜线段的两个端点,求以此斜线段为对角线的矩形的左下角点。
Dim FstPnt As Variant
Dim SndPnt As Variant
dim pt(0 to 1)  as double
FstPnt = ThisDrawing.Utility.GetPoint(, "选取矩形第一角点:")
SndPnt = ThisDrawing.Utility.GetCorner(FstPnt, "选取矩形对角点:")
If FstPnt(0) > SndPnt(0) Then
pt(0) = SndPnt(0)
Else
pt(0) = FstPnt(0)
End If
If FstPnt(1) > SndPnt(1) Then
pt(1) = SndPnt(1)
Else
pt(1) = FstPnt(1)
End If
end sub
回复

使用道具 举报

10

主题

202

帖子

13

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2012-12-8 22:46:00 | 显示全部楼层
嘿嘿~继续,关注中
回复

使用道具 举报

0

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
2
发表于 2012-12-9 21:39:00 | 显示全部楼层
学习学习了,谢谢分享

                               
登录/注册后可看大图


69sodu.com 大周皇族
回复

使用道具 举报

1

主题

11

帖子

3

银币

初来乍到

Rank: 1

铜币
15
发表于 2012-12-10 19:11:00 | 显示全部楼层
学习一下。。。
回复

使用道具 举报

23

主题

83

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2013-1-1 18:55:00 | 显示全部楼层

选择最后绘制的图形,并进行填充:
(setq la (entlast))
(command "_bhatch" "p" "ANSI31" "50" "0" "s" la "" "")
回复

使用道具 举报

23

主题

83

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
175
发表于 2013-1-29 12:06:00 | 显示全部楼层

利用entmake制作箭头:
(defun C:tt (/ pt1 pt2 pt3  ang)
  (setvar "CMDECHO" 0)
  (setvar "TEXTEVAL" 1)
  (setq pt1 (getpoint "\n指定起点->"))
  (setq pt2 (getpoint pt1 "\n指定终点->"))
  (setq ang (angle pt1 pt2))
  (setq dis (distance pt1 pt2))
  (setq pt3 (polar pt1  ang (* 0.8 dis)))
  (setq x1 (car pt1))
  (setq y1 (cadr pt1))
  (setq x2 (car pt2))
  (setq y2 (cadr pt2))
  (setq x3 (car pt3))
  (setq y3 (cadr pt3))
  (setq width1 (/ dis 50))
  (setq width2 (/ dis 10))
  (entmake
    (list
      '(0 . "lwpolyLINE")
    '(100 . "AcDbEntity")
    '(67 . 0)
    '(410 . "Model")
    '(100
      .
      "AcDbPolyline"
     )
    '(90 . 3)
    '(70 . 0)
    '(38 . 0.0)
    '(39 . 0.0)
    (cons 10 (list x1 y1))
    (cons 40  width1)
    (cons 41 width1)
    '(42 . 0.0)
      
    (cons 10 (list x3 y3))
    (cons 40 width2)
  '(41 . 0.0)
    '(42 . 0.0)
    (cons 10 (list x2 y2))
    '(40 . 0.0)
    '(41 . 0.0)
    '(42 . 0.0)
    '(210 0.0 0.0 1.0)
  )
)
(setvar "CMDECHO" 1)
  )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-29 22:30 , Processed in 1.367925 second(s), 69 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表