乐筑天下

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

[求助]一个极简单的LISP程序,帮忙看看:)

[复制链接]

13

主题

40

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2004-3-22 19:53:00 | 显示全部楼层 |阅读模式
就是画一个荷载示意图: (Defun C:loadq ()
         (setvar "cmdecho" 1)
         (command "layer" "m" "loadq" "C" 2 "loadq" "")
         (command "_.line"
                         (setq pt1 (getpoint "均布荷载起点a:"))
                         (setq pt2 (getpoint "\n均布荷载终b:"))
                         (setq pt3 (getpoint "\n均布荷载高度h:"))
                         (setq pt4 (list (car pt1) (cadr pt3)))
                         "c"
         )
         (setq h (distance pt2 pt3))
         (setq n (fix (/ (distance pt1 pt2) h)))
         (if (< n 6)
                         (setq n 6)
         )
         (setq pt5 (list (car pt1) (+ (cadr pt4) (/ h 5))))
         (command "_.pline" pt1 "w" 0 (/ h 10) pt5 "w" 0 0 pt4 "")
         (setq ent (entlast))
         (command "array"
                         ent
                         ""
                         ""
                         ""
                         (+ n 1)
                         (/ (distance pt1 pt2) n)
         )
)
1。红色部分是画一个箭头,不知道为什么只有“头”,没有“尾巴”,如何修改?
2。里面的语句请帮忙修改一下,如开头怎么打开正交?
3。如果要想作为一个“对象”,而且附加扩展数据Q=36KN/m,应该怎么做?(因为这种荷载可能不只一个)
请帮忙想一个办法~~多谢~~
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-3-22 20:41:00 | 显示全部楼层
1、(setvar "orthomode" 1)2、你先用命令行试试看画一个箭头该怎么画。。。(注意各点的位置,不要搞错了)
3、要把谁作为一个对象?所有的箭头吗?
4、(setq pt2 (getpoint pt1...))
回复

使用道具 举报

13

主题

40

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2004-3-22 21:17:00 | 显示全部楼层
3。举个例子来说,我用pline花了一个箭头:
(Defun C:loadf ()
         (setvar "cmdecho" 1)
         (command "layer" "m" "loadf" "C" 3 "loadf" "")
         (command "linetype" "S" "BYLAYER" "")
         (setq fo (getpoint "选择集中力作用点:" ))
         (setq ft (getpoint "高度:" ))
         (setq fl (distance fo ft ))
         (if (null cal)(arxload"geomcal"))
         (setq fm (c:cal "(fo + ft) / 2"))
         (setq fe (c:cal "(fo +fm ) / 2"))
         (command "_.pline" fo "w" 0 (/ fl 10) fe "w" 0 0 ft "")
         ;(setvar "cmdecho" 1)
         (princ)
)
然后用(entget(entlast))可以得到一个对象,可以添加扩展数据,因为一次完成的
而上面的那个图,是由很多线段组成的,不知道给那个对象添加数据。。。。
N
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-15 13:34 , Processed in 1.165177 second(s), 58 queries .

© 2020-2025 乐筑天下

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