明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 晓雨

请帮帮忙,谢谢

  [复制链接]
发表于 2004-2-27 13:14:00 | 显示全部楼层
这不是缺点,这是一个比较复杂的过程,
发表于 2004-2-27 14:18:00 | 显示全部楼层
老大,這不難
  1. (defun c:00(/ pt d1 d2 pt1 pt2   h1 h2)
  2.    (setq d1(getdist "\n 请输入大孔直径: "))
  3.    (setq d2(getdist "\n 请输入小孔直径: "))
  4.    (setq h1(getdist "\n 请输入板厚: "))
  5.    (setq h2(getdist "\n 请输入大孔深度: "))
  6.    (setq pt(getpoint"\n 请输入中心点 :"))
  7.    (setq pt1(list (- (car pt) (/ d1 2)) (cadr pt) ))
  8.    (setq pt2(list (+ (car pt) (/ d1 2)) (- (cadr pt) h2)))
  9.    (setvar "clayer" "粗实线")
  10.    (command"rectang" pt1 pt2)   (setq ss1 (ssget "l"))     ;增加
  11.    (setq pt1(list (- (car pt) (/ d2 2)) (- (cadr pt) h2)))
  12.    (setq pt2(list (+ (car pt) (/ d2 2)) (- (cadr pt) h1)))
  13.    (command"rectang" pt1 pt2)   (setq ss2 (ssget "l"))     ;增加
  14.    (setvar "clayer" "中心线")
  15.    (setq pt1(list (car pt) (+ (cadr pt) (/ d1 5))))
  16.    (setq pt2(list (car pt) (- (cadr pt) (+ h1 (/ d2 5)))))
  17.    (command"line" pt1 pt2 "")    (setq ss3 (ssget "l"))     ;增加
  18.    (setvar "clayer" "粗实线")   (command "move" ss1 ss2 ss3 "" pt)
  19.    (command "move" "")
  20.    )
发表于 2004-2-27 14:37:00 | 显示全部楼层
这要看对谁说了,楼主就画这几条线都有这么多问题,让他实现拖动功能会认为不难?


楼上的拖动效果不怎么好,需要先输入一个点,而且图形中也有一个一这个点为基准的一个固定的图,类似插入块,除了一个移动的图,是没有其它的,
 楼主| 发表于 2004-2-27 18:52:00 | 显示全部楼层
可以了,还有一个问题,如果我有时候,注意,我说的是有时候,我要旋转这个图形,


有时候还要缩小放大,能行吗?
 楼主| 发表于 2004-2-27 19:18:00 | 显示全部楼层
(defun c:00(/ pt d1 d2 pt1 pt2 h1 h2)
(setq d1(getdist "\n 请输入大孔直径: "))
(setq d2(getdist "\n 请输入小孔直径: "))
(setq h1(getdist "\n 请输入板厚: "))
(setq h2(getdist "\n 请输入大孔深度: "))
(setq pt(getpoint"\n 请输入中心点 :"))
(setq pt1(list (- (car pt) (/ d1 2)) (cadr pt) ))
(setq pt2(list (+ (car pt) (/ d1 2)) (- (cadr pt) h2)))
(setvar "clayer" "粗实线")
(Setvar "OSMODE" 0)
(command"rectang" pt1 pt2) (setq ss1 (ssget "l")) ;增加
(setq pt1(list (- (car pt) (/ d2 2)) (- (cadr pt) h2)))
(setq pt2(list (+ (car pt) (/ d2 2)) (- (cadr pt) h1)))
(command"rectang" pt1 pt2) (setq ss2 (ssget "l")) ;增加
(setvar "clayer" "中心线")
(setq pt1(list (car pt) (+ (cadr pt) (/ d1 5))))
(setq pt2(list (car pt) (- (cadr pt) (+ h1 (/ d2 5)))))
(command"line" pt1 pt2 "") (setq ss3 (ssget "l")) ;增加
(setvar "clayer" "粗实线") (command "rotate" ss1 ss2 ss3 "" pt)
(command "" )
(command "scale" ss1 ss2 ss3 "" pt)
(command "" )
(setvar "OSMODE" 1) ) 这样好像只能实现旋转,不能缩放,那是为什么?
发表于 2004-2-27 19:33:00 | 显示全部楼层
command后SCALE的参数不对
 楼主| 发表于 2004-2-27 20:09:00 | 显示全部楼层
为什么会不对了,是不是旋转后那几个ss 就变掉了,那应该怎么办呢?顺便问一下,开平方,开立方的函数是什么?谢谢版主
发表于 2004-2-27 20:11:00 | 显示全部楼层
为什么不对?在命令行用一下命令不就知道了吗?
 楼主| 发表于 2004-2-27 20:20:00 | 显示全部楼层
我用过了,对的啊,我把缩放放前面的时候它是有用的啊,但旋转又没有用了,
发表于 2004-2-27 20:56:00 | 显示全部楼层
让你输入命令看看参数对不对,为什么不肯做,还硬说对?(提示:命令最后该输入点,可你却输入一个空回车) 你按你说的放在前面就可以的做法,然后在程序的最后加上一句(princ "hello!"),如果真的是正确,那会打印一句hello!,你看是否有。。。。 不明白为什么两次都要加入(command "")做什么? 你要的是这样的效果吧:将后面的四个command该为如下两句 (command "rotate" ss1 ss2 ss3 "" pt PAUSE)
(command "scale" ss1 ss2 ss3 "" pt PAUSE)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 15:38 , Processed in 0.179443 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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