乐筑天下

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

还是老问题请教几位大哥!!!

[复制链接]

8

主题

16

帖子

4

银币

初来乍到

Rank: 1

铜币
48
发表于 2003-11-19 11:44:00 | 显示全部楼层 |阅读模式
我又将上次那个程序贴了上来。我先说说我的目的,我想用这种方法实现用
 PLINE画的两直线的夹角的标注,BDY大哥那种方法在实际的应用中会出现很多
 问题,如当有图中有很多线段时,如果有通过指定标注点的线时或者两线段
 的夹角非常小时,这种标注方法就会有误。所以我现在都是用的MEFLYING大
 哥那种方法,在在画PLINE线段时多画一条LINE线段。(用PLINE的目的主要
 是为了画出的线段有宽度,这是为了出图的需要)
(defun c:angdim (/ p1 p2 ss1 p3 ss2 ang1 ang2 p4)
(setvar "cmdecho" 0)
(setq p1 (getpoint "\n请输入起点:"))
(setq p2 (getpoint p1 "\n请输入角点:"))
(command "pline" p1 p2)
(setq ss1 (entlast))
(setq p3 (getpoint p2 "\n请输入端点:"))
(command p3 "")
(setq ss2 (entlast))
(setq ang1 (angle p2 p1))
(setq ang2 (angle p2 p3))
(if (> ang1 pi)
  (setq ang1 (- ang1 (* 2 pi)))
  )
(if (> ang2 pi)
  (setq ang2 (- ang2 (* 2 pi)))
  )
(setq p4 (polar p2 (/ (+ ang1 ang2) 2.0) (/ (distance p1 p2) 1.5)))
(command "dim1" "ang" (list ss1 p1) (list ss2 p3) p4 "" "")
;;;(command "dim1" "ang"  p1  p3 p4 "" "")
(setvar "cmdecho" 1)
(princ)
)
回复

使用道具 举报

57

主题

466

帖子

8

银币

中流砥柱

Rank: 25

铜币
694
发表于 2003-11-19 12:29:00 | 显示全部楼层
為了出圖的需要?????
回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2003-11-20 12:18:00 | 显示全部楼层
(defun C:ANGDIM        (/ HOLDECHO HOLDPT P1 P2 P3 S1 S2 ANG1 ANG2 P4)
  (setq HOLDECHO (getvar "CMDECHO"))
  (setq HOLDPT (getvar &quotLINETYPE"))
  (setq P1 (getpoint "\n请输入起点: "))
  (setq P2 (getpoint P1 "\n请输入角点: "))
  (grdraw P1 P2 -1 1)
  (setq P3 (getpoint P2 "\n请输入端点: "))
  (grdraw P1 P2 -1 1)
  (setvar "cmdecho" 0)
  (setvar "plinetype" 0)
  (command "_.pline" P1 P2 P3 "")
  (setq ANG1 (angle P2 P1))
  (setq ANG2 (angle P2 P3))
  (if (> ANG1 pi)
    (setq ANG1 (- ANG1 (* 2 pi)))
  )
  (if (> ANG2 pi)
    (setq ANG2 (- ANG2 (* 2 pi)))
  )
  (setq P4 (polar P2 (/ (+ ANG1 ANG2) 2.0) (/ (distance P1 P2) 1.5)))
  (command "_.dim1"
           "_ang"
           (list (entnext (entnext (entlast))) P1)
           (list (entnext (entlast)) P3)
           P4
           ""
           ""
  )
  (setvar &quotLINETYPE" HOLDPT)
  (setvar "CMDECHO" HOLDECHO)
  (princ)
)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-7 00:30 , Processed in 1.404370 second(s), 58 queries .

© 2020-2025 乐筑天下

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