乐筑天下

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

[编程交流] 如何制作一个简单的框架?

[复制链接]
Civ

2

主题

4

帖子

2

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 06:35:59 | 显示全部楼层 |阅读模式
我还是个新手。关于autolisp,我还有很多需要学习的地方。我需要帮助完成这个相框。如果有任何帮助,我将不胜感激。这是我的密码。
(默认c:picf()
(setvar“cmdecho”0)
;询问用户三个问题
(setq osmode(getvar“osmode”))
(setq高度(getint“\n输入高度:”)
(setq width(getint“\n输入宽度:”)
(setq-thick(getint“\n输入厚度:”)
;设置起点和右上角点
(setq stpt(列表0.0.0))
(setq trp(极性(极性stpt 0宽度)(*pi 0.5)高度))
 
 
 
 
 
(命令“矩形”stpt trp“”)
 
 
 
 
 
 
(setvar“osmode”0)
(setvar“osmode”osmode)
(普林斯)
)
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 06:42:34 | 显示全部楼层
把你的setvar osmode放在getvar osmode之后,你现在已经把它放得太低了。
 
你也可以做pline,但它需要你额外计算3个点,这样做的原因是你可以使用一个自动加载的defun pline例程,这里有很多关于VLa Addlwpolyline的例子。然后你可以做2分以上的练习。这可能是一个好主意,从“命令”开始,使用vla add
 
最近有一篇关于矩形的帖子,从一个角度讲,我建议使用“斯纳潘”
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 06:49:05 | 显示全部楼层
 
“矩形”之后是什么?除了Bigal提到的“osmode”设置的明显位置之外,我在你的帖子上没有看到任何问题
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 06:59:04 | 显示全部楼层
建议移到Vla ADDPOLYINE,这样做的优点是一次设置其所有属性,而不是一个接一个命令PE last width等
 
无论如何,ps使用代码括号
  1. (defun c:picf ()
  2. (setvar "cmdecho" 0)
  3. ;askimg the user three questions
  4. (setq osmode (getvar "osmode" ))
  5. (setq height (getint "\nEnter the height: "))
  6. (setq width (getint "\nEnter the width: "))
  7. (setq thick (getint "\nEnter the thickness: "))
  8. ;setting the start point and top right point
  9. (setq stpt (list 0.0 0.0))
  10. (setq trp (polar (polar stpt 0 width) (* pi 0.5) height))
  11. (command "rectangle" stpt trp "")
  12. (command "pedit" "L" "w" thick)
  13. (setvar "osmode" 0)
  14. (setvar "osmode" osmode)
  15. (princ)
  16. )
回复

使用道具 举报

0

主题

55

帖子

58

银币

初来乍到

Rank: 1

铜币
1
发表于 2022-7-6 07:03:38 | 显示全部楼层
073604kh4zxifxyx4zzhlu.jpg
 
我想这可能会向你展示这个公式,并给你一些关于如何设置lisp程序的想法。
 
我可能是错的,但我认为你错过了一个步骤或2在你的lisp张贴,但由于我不知道如何在lisp编程,我可能是错的。
 
无论如何,希望这能对你有所帮助
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 07:11:06 | 显示全部楼层
pBe仍然一无所知
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-6 07:13:49 | 显示全部楼层
文明,
 
请编辑您的帖子以包含代码标签。
回复

使用道具 举报

2

主题

389

帖子

387

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:20:02 | 显示全部楼层
发布一张最终结果的图片怎么样?
回复

使用道具 举报

Civ

2

主题

4

帖子

2

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:29:32 | 显示全部楼层
073607g4omooeiezq8ijo8.jpg
 
这就是它应该看起来的样子。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 07:33:42 | 显示全部楼层
试试这个。。。如果这能满足你的要求,请告诉我。
 
  1. (defun c:Test (/ hgt wid thk pt l p1 p2 p3 p4 p5 p6 p7 ct)
  2. (if
  3.    (and
  4.      (setq hgt (getdist "\nEnter the height: "))
  5.      (setq wid (getdist "\nEnter the width: "))
  6.      (setq thk (getdist "\nEnter the thickness: "))
  7.      (if (> wid (* 2. thk))
  8.        t
  9.        (progn
  10.          (alert
  11.            "Width of outter border must be bigger two times at least than the Thickness !"
  12.          )
  13.          nil
  14.        )
  15.      )
  16.      (setq pt (getpoint "\n Specify point :"))
  17.    )
  18.     (progn
  19.       (setq l  (- wid (* thk 2.))
  20.             p1 (polar pt 0. wid)
  21.             p2 (polar p1 (* pi 1.5) hgt)
  22.             p3 (polar p2 pi wid)
  23.             p4 (polar (polar pt 0. thk) (* pi 1.5) thk)
  24.             p5 (polar p4 0. l)
  25.             p6 (polar p5 (* pi 1.5) l)
  26.             p7 (polar p6 pi l)
  27.             ct (inters p4 p6 p5 p7)
  28.       )
  29.       (command "_.rectang" "_none" pt "_none" p2)
  30.       (command "_.rectang" "_none" p4 "_none" p6)
  31.       (entmake
  32.         (list '(0 . "CIRCLE") (cons 10 ct) (cons 40 (/ l 2.)))
  33.       )
  34.     )
  35. )
  36. (princ)
  37. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 15:47 , Processed in 0.359452 second(s), 74 queries .

© 2020-2025 乐筑天下

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