乐筑天下

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

请大家帮我挑错

[复制链接]

7

主题

15

帖子

2

银币

初来乍到

Rank: 1

铜币
43
发表于 2002-11-27 11:32:00 | 显示全部楼层 |阅读模式
小弟有一作业,情况是这样的:
在任意直线上得一点,再得不在这一直线上的点作为方向,然后画表面粗糙度.
小弟参考了上次网友 chg 在 "用(ssget )可以做到" 一文中的办法
想半天,做不出,ssget实体选择实在有点过不去
请各位帮忙挑错,感谢感谢...
(defun c:t2(/ p1 p2 p3 p4 p5 p6 p7 p8 ang ang1 k ename ss)
  (setq p1 (getpoint "\n input p1"))
  (setq p5 (getpoint "\n input p2"))
  (setq k (getdist "\n input k"))
  (setq ss (ssget p1))
  (setq ename (ssname ss 0))
  (setq p2 (cdr (assoc 10 (entget ename))))
  (setq p3 (cdr (assoc 11 (entget ename))))
  (setq ang (angle p2 p3))
  (setq ang1 (angle p1 p5))
  (cond
    ((> (- ang1 pi) ang)
     (setq p6 (polar p1 (- ang (/ pi 3)) (* 10 k)))
     (setq p7 (polar p1 (- ang (* (/ pi 3) 2) (* 10 k))))
     (setq p8 (polar p1 (- ang (* (/ pi 3) 2) (* 20 K)))))
    ((and (> ang1 ang) ( ang1 0) ( (- ang1 pi) ang)
     (setq p6 (polar p1 (- ang (/ pi 3)) (* 10 k)))
     (setq p7 (polar p1 (- ang (* (/ pi 3) 2)) (* 10 k)))
     (setq p8 (polar p1 (- ang (* (/ pi 3) 2)) (* 20 K)))
    )
    ((and (> ang1 ang) ( ang1 0) ( (- ANG1 pi) ANG)
     (setq P6 (polar P1 (- ANG (/ pi 3)) (* 10 K)))
     (setq P7 (polar P1 (- ANG (* (/ pi 3) 2)) (* 10 K)))
     (setq P8 (polar P1 (- ANG (* (/ pi 3) 2)) (* 20 K)))
    )
    ((and (> ANG1 ANG) ( ANG1 0) (< ANG1 ANG))
     (setq P6 (polar P1 (- ANG (/ pi 3)) (* 10 K)))
     (setq P7 (polar P1 (- ANG (* (/ pi 3) 2)) (* 10 K)))
     (setq P8 (polar P1 (- ANG (* (/ pi 3) 2)) (* 20 K)))
    )
  )
  (command "pline" P7 P6 P1 P8 "")
  (setvar "osmode" HOLDOSMODE)
  (princ)
)
回复

使用道具 举报

chg

26

主题

187

帖子

9

银币

后起之秀

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

铜币
291
发表于 2002-11-28 11:04:00 | 显示全部楼层
感谢!!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-5-28 03:35 , Processed in 1.585342 second(s), 56 queries .

© 2020-2025 乐筑天下

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