明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 李青松

[已解答] A,B,C三个值在命令行中输入,可以是输入A回车, 输入B回车, 输入C回车,用lsp...

[复制链接]
 楼主| 发表于 2014-3-30 16:53:49 | 显示全部楼层
本帖最后由 李青松 于 2014-3-30 16:57 编辑
重慶崽兒 发表于 2014-3-28 22:20
那啥,把那个while循环放在下面就OK了!

重慶崽兒 :插入点点一次后程序就结束,不要多次点插入点。麻烦你改一改.对我来说很重要。
发表于 2014-3-30 17:07:47 | 显示全部楼层
李青松 发表于 2014-3-30 16:53
重慶崽兒 :插入点点一次后程序就结束,不要多次点插入点。麻烦你改一改.对我来说很重要。

那插入点点一次就结束的话,图形不就画在同一个地方了,没懂你的意思。。。。
 楼主| 发表于 2014-3-30 18:16:51 | 显示全部楼层
本帖最后由 李青松 于 2014-3-30 19:53 编辑
重慶崽兒 发表于 2014-3-30 17:07
那插入点点一次就结束的话,图形不就画在同一个地方了,没懂你的意思。。。。

重慶崽兒:这样吧,先在屏幕上指点插入点,然后再输入a回车,b 回车,c 回车命令结束。

我的qq是1024161729   方便的话加一下我的qq


下面还有一个类似的,麻烦你看看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2014-3-30 22:47:21 | 显示全部楼层
李青松 发表于 2014-3-30 18:16
重慶崽兒:这样吧,先在屏幕上指点插入点,然后再输入a回车,b 回车,c 回车命令结 ...

哦, 你的意思是指定插入点后,输入A B C后就画一个 对吧
发表于 2014-3-31 08:31:24 | 显示全部楼层
本帖最后由 ZZXXQQ 于 2014-4-1 07:53 编辑
  1. (defun c:tt()
  2.   (setvar "CMDECHO" 0)
  3.   (if (not (numberp ma)) (setq ma 1000.0))
  4.   (if (not (numberp mb)) (setq mb 500.0))
  5.   (if (not (numberp mc)) (setq mc 600.0))
  6.   (setq A (getdist (strcat "\n请输入A的值" "<" (rtos ma 2 2) ">")))
  7.   (setq A (if A A ma))
  8.   (setq B (getdist (strcat "\n请输入B的值" "<" (rtos mb 2 2) ">")))
  9.   (setq B (if B B mb))
  10.   (setq C (getdist (strcat "\n请输入C的值" "<" (rtos mc 2 2) ">")))
  11.   (setq C (if C C mc))
  12.   (if (setq pt (getpoint "\n 请指定插入点:")) (progn
  13.    (setq pc (mapcar '+ pt (list A B)))
  14.    (setq pe (mapcar '+ pc (list 0 500))
  15.          pff (mapcar '+ pe (list 0 C))
  16.          pg (polar pff pi (/ A 2))
  17.          ph (polar pe pi (/ A 2)))
  18.    (command "_.RECTANG" pt pc "PLINE" ph pe pff pg "")
  19.   ))
  20.   (setq ma A mb B mc C)
  21.   (setvar "CMDECHO" 1)
  22.   (princ)
  23. )
  1. (defun c:tt2()
  2.   (setvar "CMDECHO" 0)
  3.   (if (not (numberp ma)) (setq ma 1000.0))
  4.   (if (not (numberp mb)) (setq mb 500.0))
  5.   (setq A (getdist (strcat "\n请输入A的值" "<" (rtos ma 2 2) ">")))
  6.   (setq A (if A A ma))
  7.   (setq B (getdist (strcat "\n请输入B的值" "<" (rtos mb 2 2) ">")))
  8.   (setq B (if B B mb))
  9.   (if (setq pc (getpoint "\n 请指定插入点:")) (progn
  10.    (setq r (/ A 2))
  11.    (setq p1 (mapcar '+ pc (list r (+ r 500))))
  12.    (setq p2 (mapcar '+ p1 (list 0 B))
  13.          p3 (polar p1 pi r)
  14.          p4 (polar p2 pi r))
  15.    (command "_.CIRCLE" pc r "PLINE" p4 p2 p1 p3 "")
  16.   ))
  17.   (setq ma A mb B)
  18.   (setvar "CMDECHO" 1)
  19.   (princ)
  20. )
 楼主| 发表于 2014-3-31 09:07:29 | 显示全部楼层
重慶崽兒 发表于 2014-3-30 22:47
哦, 你的意思是指定插入点后,输入A B C后就画一个 对吧

对的,完全正确
 楼主| 发表于 2014-3-31 09:10:36 | 显示全部楼层
ZZXXQQ 发表于 2014-3-31 08:31

两个程序运行不了,哥们
发表于 2014-3-31 20:11:20 | 显示全部楼层
ZZXXQQ 发表于 2014-3-31 08:31

Z版的代码就是精炼,顶!
  那啥,tt2中那个(setq p1 (mapcar '+ pc (list r (+ r 500)))后面应该还有个括号给忘加了。
发表于 2014-4-1 01:31:59 | 显示全部楼层
有问题求助是应该的,但不能什么都不会,只会appload,然后运行命令
一般情况,在程序能达到基本要求的情况下,一些细节的地方自己改下就行了,不要总是以新手、不会等作为理由,不会是正常的,不学也没什么错,但来到这里就是因为不会要学才来的,总不能什么都在问,但总不见长进吧,这是学习交流的地方而不是义务编程的
这样说并不是针对哪一个人,只是个人觉得应当这样

点评

支持  发表于 2015-6-30 14:29
赞一个  发表于 2014-4-1 10:56
emk
赞一个  发表于 2014-4-1 09:22
 楼主| 发表于 2014-4-1 09:09:54 | 显示全部楼层
llsheng_73 发表于 2014-4-1 01:31
有问题求助是应该的,但不能什么都不会,只会appload,然后运行命令
一般情况,在程序能达到基本要求的情况 ...

哪里有系统的,详细的视频教程,关于lsp的

点评

emk
找不死猫老师  发表于 2014-4-1 09:22
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-23 16:01 , Processed in 0.182098 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表