乐筑天下

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

[编程交流] 绘制等腰梯形

[复制链接]

27

主题

146

帖子

119

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
137
发表于 2022-7-5 18:49:47 | 显示全部楼层 |阅读模式
嗨,伙计们
有这样的例行公事吗?谢谢你的帮助!
输入“L”和“H”的值,选择一个基本点,动态指定方向。绘制等腰梯形。
194950vxmiimmamxzgvxvi.jpg
 
动态指定方向
194951tlx5t5pe4hp5e1jx.png
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:54:36 | 显示全部楼层
学习lisp的一个很好的开始,非常简单,只需几个命令,将其视为5个点,第一个点是拾取点,然后使用新的点=极角距离或老式三角可以计算出所有角,然后创建pline pt1 pt2 pt3 pt4 C,然后旋转。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:56:59 | 显示全部楼层
试试这个,安迪,让我知道
 
  1. (defun c:Test (/ dtr ac ab p sl a b c d e p)
  2. ;;        Author : Tharwat Al Shoufi                        ;;
  3. ;; Draw Trapezoid with angle 55 on the two sides        ;;
  4. ;; --------------------------------------------------        ;;
  5. (defun dtr (a) (* pi (/ a 180.0)))
  6. (if (not *traplen*)
  7.    (setq *traplen* 10.0)
  8. )
  9. (if (not *traphgt*)
  10.    (setq *traphgt* 4.0)
  11. )
  12. (if (and (setq *traplen* (cond ((getdist (strcat "\n Specify Length of Trapezoid < " (rtos *traplen* 2 2) " > :")))
  13.                                 (*traplen*)
  14.                           )
  15.           )
  16.           (setq *traphgt* (cond ((getdist (strcat "\n Specify Height of Trapezoid < " (rtos *traphgt* 2 2) " > :")))
  17.                                 (*traphgt*)
  18.                           )
  19.           )
  20.           (setq ac (/ *traphgt* (sin (dtr 55.)))
  21.                 ab (* ac (cos (dtr 55.)))
  22.           )
  23.           (if (>= (setq sl (- *traplen* (+ ab ab))) 0.)
  24.             (setq p (getpoint "\n Specify top center point of Trapezoid :"))
  25.             (progn (alert "Length of Trapezoid is too small !!") nil)
  26.           )
  27.      )
  28.    (progn (setq a (polar p pi (/ sl 2.))
  29.                 b (polar a (dtr 235.) ac)
  30.                 c (polar b 0. *traplen*)
  31.                 d (polar c (dtr 125.) ac)
  32.                 e (entmakex
  33.                     (append (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(100 . "AcDbPolyline") '(90 . 4) '(70 . 1))
  34.                             (mapcar '(lambda (pt) (cons 10 (list (car pt) (cadr pt)))) (list a b c d))
  35.                     )
  36.                   )
  37.           )
  38.    )
  39. )
  40. (if e
  41.    (command "_.rotate" e "" "_non" p "\")
  42. )
  43. (princ)
  44. )
回复

使用道具 举报

27

主题

146

帖子

119

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
137
发表于 2022-7-5 19:01:50 | 显示全部楼层
 
多谢塔瓦。很好!这正是我需要的!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 19:04:46 | 显示全部楼层
 
很高兴听到这个消息,不客气。
回复

使用道具 举报

1

主题

8

帖子

7

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 19:07:40 | 显示全部楼层
嗨,塔瓦,
 
 
请询问另一个解决方案,以绘制四边差(输入)和梯形角度(角度不固定)。如何在代码中添加更多功能?提前谢谢你。
 
 

                               
登录/注册后可看大图
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:09:13 | 显示全部楼层
查看此线程:http://www.theswamp.org/index.php?topic=39256
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:12:32 | 显示全部楼层
正如李在没有已知角度的情况下所说,没有解决方案。你现在是怎么做到的,你一定在修正某个东西,或者你有一个对角距离,然后它是可解的。
回复

使用道具 举报

8

主题

1133

帖子

1164

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 19:17:07 | 显示全部楼层
有一段空闲时间,我试着按尺寸绘制形状。不是直截了当的
194953daeua5l5z5y2kkzw.png
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:18:59 | 显示全部楼层
Eldon I得到的长度=263.495,而不是265,所以图表对整个度数不正确
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:50 , Processed in 0.653899 second(s), 75 queries .

© 2020-2025 乐筑天下

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