明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 430|回复: 1

[提问] nentsel如何获得块内直线在当前坐标下的两个端点

[复制链接]
发表于 2020-8-18 09:15 | 显示全部楼层 |阅读模式
3明经币
本帖最后由 江南十笑 于 2020-8-18 09:16 编辑

  1. ;轴线等分梁;  目前问题线只能是直线  
  2. (defun c:666 ()
  3.   (LWWCSH)
  4.   ;(setq PL1 (entsel "\n请选取第一条轴线[必须是直线]:")
  5.   (setq PL1  (nentsel "\n请选取第一条轴线[必须是直线]:")
  6.     PL2 (nentsel "\n请选取第二条轴线[必须是直线]:")
  7.     j-j (GETREAL "\n请输入梁宽:")
  8.     OFW (GETINT "\n请输入等分数量(梁根数+1):")
  9.     n 1)

  10.   
  11.   (lwwsctc  "S-GRID"  14  "DOTE"  1  t)
  12.   (lwwsctc  "S-BEAM"  4  "DASHED"  1  t)
  13.   
  14.   (if (< j-j 0)(progn (princ "输入梁宽小于0,按0计算") (setq j-j 0)))
  15.   (if (< OFW 2)(progn (princ "指定等分数量小于2,按2计算") (setq OFW 2)))
  16.   (Setq pl1p1 (cdr (assoc 10 (entget (car pl1))))
  17.     pl1p2 (cdr (assoc 11 (entget (car pl1))))
  18.     pl2p1 (cdr (assoc 10 (entget (car pl2))))
  19.     pl2p2 (cdr (assoc 11 (entget (car pl2))))
  20.   )
  21.   (if (< (DISTANCE pl1p1 pl2p1) (DISTANCE pl1p1 pl2p2))
  22.     (setq jl (DISTANCE pl1p1 pl2p1)
  23.       jd (ANGLE pl1p1 pl2p1))
  24.     (setq jl (DISTANCE pl1p1 pl2p2)
  25.       jd (ANGLE pl1p1 pl2p2))
  26.   ) (while (< n ofw)
  27.     (entmake (list '(0 . "line")'(62 . 256 )'(8 . "S-GRID" )(cons 10 (polar pl1p1 jd (* n (/ jl ofw)) )) (cons 11 (polar pl1p2 jd  (* n (/ jl ofw)) )) ))
  28.     (entmake (list '(0 . "line")'(62 . 256 ) '(8 . "S-BEAM" ) (cons 10 (polar pl1p1 jd (- (* n (/ jl ofw)) (/ j-j 2.))))(cons 11 (polar pl1p2 jd (- (* n (/ jl ofw)) (/ j-j 2.))))) )
  29.     (if (/= j-j 0)
  30.             (entmake (list '(0 . "line")'(62 . 256 ) '(8 . "S-BEAM" ) (cons 10 (polar pl1p1 jd (+ (* n (/ jl ofw)) (/ j-j 2.))))(cons 11 (polar pl1p2 jd (+ (* n (/ jl ofw)) (/ j-j 2.))))) )
  31.                 )
  32.     (setq n (+ 1 n))
  33.         )
  34.         (LWWEND)
  35.         (princ)
  36. )





如上所示  当所选轴线不在块内  程序运行无误  当所选直线在嵌套块内  生成的位置就跑了  如何修改 让生成的位置正确


发表于 2020-8-18 23:59 | 显示全部楼层
trans函数转换一下坐标
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 19:56 , Processed in 0.620189 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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