明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 品茗新秀

求按标准线拉伸或缩短线的lsp程序0003

  [复制链接]
 楼主| 发表于 2012-9-9 12:06 | 显示全部楼层
本帖最后由 品茗新秀 于 2012-9-9 15:03 编辑

做一个过程演示双击下图   可更加清楚



其实就是把柱梁向右移动100mmm

本帖子中包含更多资源

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

x

点评

lpl
115网盘提取不了,已经关闭的了共享,楼主直接发GIF  发表于 2012-9-9 13:00
回复

使用道具 举报

 楼主| 发表于 2012-9-9 15:01 | 显示全部楼层
品茗新秀 发表于 2012-9-9 12:06
做一个过程演示

双击上图可更加清楚
回复

使用道具 举报

发表于 2012-9-18 08:09 | 显示全部楼层
LISP不是万能的,有些东西不能一个程序解决,得分开来

点评

这个能用lsp解决  发表于 2012-9-18 19:45
回复

使用道具 举报

发表于 2012-9-24 10:07 | 显示全部楼层
选一个标准长度再选其它,都变成标准长度并写出字"d8@200",是这个意思吗? 有弯钩否?
回复

使用道具 举报

 楼主| 发表于 2012-9-24 18:25 | 显示全部楼层
crazylsp 发表于 2012-9-24 10:07
选一个标准长度再选其它,都变成标准长度并写出字"d8@200",是这个意思吗? 有弯钩否?

不问有无弯钩,对没有标注的钢筋补上标注d8@200
回复

使用道具 举报

发表于 2012-9-24 18:32 | 显示全部楼层

楼主,不知道有vba您同意吗?我自己对lisp几乎一窍不通,就会些基础很常用,像vl函数都不会.............
vba还可以,应该用lisp能做的,vba应该也都能做吧
回复

使用道具 举报

 楼主| 发表于 2012-9-24 18:40 | 显示全部楼层
sscylh 发表于 2012-9-24 18:32
楼主,不知道有vba您同意吗?我自己对lisp几乎一窍不通,就会些基础很常用,像vl函数都不会.............
vb ...

行,同意,只好从vba中找感觉,
回复

使用道具 举报

发表于 2012-9-25 22:58 | 显示全部楼层
图层就是钢筋标注图层,只不过我把文字颜色改为红色显眼一点罢了,,,

点评

lpl
最好能增加对话框,选择钢筋图层。  发表于 2012-9-26 18:08
回复

使用道具 举报

发表于 2013-5-25 23:05 | 显示全部楼层
附上源码:
  1. (defun getmp(e / midp)
  2.   (setq midp(vlax-curve-getPointAtParam e(/(-(vlax-curve-getEndParam e)
  3.                  (vlax-curve-getStartParam e)) 2))
  4.         )
  5. )
  6. (defun maketxt(e / sp ep mp pam1 newe newmp txtp)
  7.   (if (= 3.0 (vlax-curve-getEndParam e))
  8.     (progn
  9.       (setq sp(vlax-curve-getPointAtParam e 0)
  10.             ep(vlax-curve-getPointAtParam e 3)
  11.             mp(getmp e)
  12.             pam1(vlax-curve-getPointAtParam e 1)
  13.             pam2(vlax-curve-getPointAtParam e 2)
  14.             ang(angle sp ep)
  15.             )
  16.       (entmake (list '(0 . "LINE") (cons 10 sp) (cons 11 ep)))
  17.       (setq newe(entlast)
  18.             newmp(getmp newe)
  19.             DIS (DISTANCE sp pam1)
  20.             )      
  21.       (entdel newe)
  22.       (setq ep1(polar ep (angle ep pam2)(+ DIS 100)))
  23.       (setq areadss(ssget "c" sp ep1 '((0 . "TEXT")(1 . "*[@]*"))))
  24.       (if  areadss (setq ang1(cdr(assoc 50 (entget(ssname areadss 0))))))
  25.       (if (or (not areadss)(/= ang ang1))                                       
  26.         (PROGN
  27.           (setq txtp(polar newmp (angle sp pam1)(+ DIS 50)))      
  28.           (entmake (list '(0 . "TEXT") (cons 1 "%%1328@200")(cons 8 "板底钢筋标注")
  29.                       (cons 10 '(0 0 0)) (cons 11 txtp)(cons 40 160)
  30.                       (cons 50 ang)(cons 62 1)(cons 72 1)(cons 73 1)
  31.                       )
  32.           )
  33.         )
  34.       )
  35.     )
  36.   )
  37. )
  38. (defun c:xgj(/ ss n)
  39.   (command "undo" "be")
  40.   (setq ss(ssget '((0 . "LWPOLYLINE")(8 . "*钢筋"))))
  41.   (if ss
  42.   (repeat (setq n(sslength ss))
  43.     (maketxt (ssname ss (setq n(1- n))))
  44.     )
  45.   )
  46.   (command "undo" "e")
  47.   (princ)
  48.   )
  49.        
回复

使用道具 举报

发表于 2013-6-6 13:51 | 显示全部楼层
这个很实用的,下载了,多谢分享源码。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 03:53 , Processed in 0.143501 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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