明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2164|回复: 18

[LISP群(1)] 2013-09-11 明经 AutoLISP 编程(102918348) 群聊记录:[face97.gif]

 关闭 [复制链接]
发表于 2013-9-11 07:06:40 | 显示全部楼层 |阅读模式
[kewyst]………… 07:06:40
[雨的节奏][雨的节奏] 07:06:41
发错群了
[邹锋]Tony 07:06:42
可以用它来让表里面的数值每个加1
[kewyst]………… 07:06:42
这个还需要一分钟??
[阿然][阿然] 07:06:43
没有
[q3_2006]q2 07:06:43
VIEWBASE
[LC100]建筑设计 07:06:44
其实就是想表达错位拍照的意思吧
[野狼谷]笨鸟 07:06:44
各有各的好处啊
[soly2006][soly2006]季鸟 07:06:44
高手讲解一下变量带*的精髓。。。
[tryhi]大海 07:06:45
[qqimg]201309/{70E1E353-A898-B076-E58C-B64301B38C8B}.jpg[/qqimg]
我明白了,感谢
 楼主| 发表于 2013-9-11 08:24:46 | 显示全部楼层
[AMKYUD][AMKYUD]??? 08:24:46
家``←_← 2013-9-10 18:52:55
大哥您好!给您推荐这么久,也给您介绍了那么多。您始终对我家的茶叶没有表示一下吗?难道您还不信任我?为了表示我的真诚,也让您品尝下我家的好茶 现在我们拿出(铁观音288-350-400-480-560)各2两下来是415元!现在只要360元,额外在赠送一套精美茶具.你看可以吗?
[AMKYUD][AMKYUD]??? 08:25:32
值得买吗
[429014673]djl 08:25:46
这你都信
[AMKYUD][AMKYUD]??? 08:33:25
[pzweng][pzweng]路人 08:34:03
[qqimg]201309/{C1901B2A-1252-5637-06E6-E87460A09523}.gif[/qqimg]
 楼主| 发表于 2013-9-11 09:08:54 | 显示全部楼层
[野狼谷]笨鸟 09:08:54
foreach  是个好东西,用好了很方便
 楼主| 发表于 2013-9-11 09:19:37 | 显示全部楼层
[tryhi]大海 09:19:37
(vlax-for x (Vlax-Get (Vlax-Get (Vlax-Get-Acad-Object) 'ActiveDocument) 'Layers) (setq lst (cons (vla-get-name x) lst)))
 楼主| 发表于 2013-9-11 09:36:43 | 显示全部楼层
[tryhi]大海 09:36:43
在请教一个问题,不等于不是用“”吗
(if ( ceng "0") xxx)
[cie0588][cie0588] 09:37:09
/=
[stoyer][stoyer] 09:37:13
vb的不等于是这个
[tryhi]大海 09:37:38
感谢
搞定了
多谢各位的帮助
 楼主| 发表于 2013-9-11 11:06:29 | 显示全部楼层
[陈亚娣][GD_MK_LIANG]________ 11:06:29
大侠们,有没有可以查图中实体相交(比如:文字与线相交)的代码
[q3_2006]q2 11:07:14
你的目的?
[陈亚娣][GD_MK_LIANG]________ 11:09:34
我想自己写个文字避让的小程序
[野狼谷]笨鸟 11:10:50
找插入点,然后用distance判断距离
当距离小于你给定的,就认为是相交了
[q3_2006]q2 11:11:19
文字框的交点好求呀。。
[陈亚娣][GD_MK_LIANG]________ 11:14:07
论坛里有个测绘的高程自动避让的程序,它的思路是怎样的?
[野狼谷]笨鸟 11:14:38
求助:如何获取一个pline的外部框坐标点集合?
[qqimg]201309/{2366F70D-82C5-5AD6-9EEC-BACE171F218B}.jpg[/qqimg]
[野狼谷]笨鸟 11:15:14
估计是按pline线搜索相当距离关系的
[lisp-study]jun 11:15:25
取点偏移撒
[野狼谷]笨鸟 11:15:58
我需要的是point_list
不知道有么有现成的函数用
[lisp-study]jun 11:16:30
没有吧
自己写一个
[野狼谷]笨鸟 11:17:15
需要的判断太多,
[阿然][阿然] 11:17:40
pline先vla-offset,然后获取新的pline的点
[野狼谷]笨鸟 11:18:05
哦,高明
[阿然][阿然] 11:18:35
再另外计算起终点就好了
[野狼谷]笨鸟 11:19:03
[GD_MK_LIANG的问题也可以用这个方法解决吧
谢谢,我研究一下
[lisp-study]jun 11:20:18
这不就是我说的取点偏移么
[野狼谷]笨鸟 11:21:10
语法

     (vlax-curve-getPointAtDist curve-obj dist)

功能

      返回曲线上距开始点为指定距离的点(在 WCS 中)。
这个函数也可以供[GD_MK_LIANG参考,
[野狼谷]笨鸟 11:22:05
通过对曲线上不同位置进行ssget,如果发现有text,就给他移动到外面去
[Sign88]宁波标志 11:23:55
;;;求两直线偏置后的交点D1,D2可以为负值,来区分方位,
(defun InterPoint (L1PS       L1PE       L2PS       L2PE       D1       D2
           /       TemA1   TemA2   TemL1PS TemL1PE TemL2PS
           TemL2PE TemP3
          )
  (setq    TemA1    (- (ang L1PS L1PE) (/ pi 2))
    Teml1PS    (polar L1PS TemA1 D1)
    Teml1PE    (polar L1PE TemA1 D1)
    TemA2    (+ (ang L2PS L2PE) (/ pi 2))
    Teml2PS    (polar L2PS TemA2 D2)
    Teml2PE    (polar L2PE TemA2 D2)
  )
  (SETQ    TemP3 (inters Teml1PS Teml1PE Teml2PS Teml2PE NIL)
    TemP3 TemP3
  )
)
[Sign88]宁波标志 11:24:34
这里大致有个思路
[Sign88]宁波标志 11:25:47
[ucuc2003][ucuc2003]易水 11:31:26
[陈亚娣][GD_MK_LIANG]________ 11:32:51
学习一下
[野狼谷]笨鸟 11:36:57
来自 caiqs  先生的代码最简洁:

(setq obj(car(entsel " 拾取要偏移的对象 :")))
(setq vlaobj(vlax-ename->vla-object obj));_转成vla对象
(vla-Offset vlaobj 500);_正的为向外偏移
(vla-Offset vlaobj -500);_负的为向内偏移
[ahwx0814]雨中漫 11:38:19
呵呵,这个代码是间接,但是不能批量
[野狼谷]笨鸟 11:38:52
批量循环不就行了
[lisp-study]jun 11:39:19
正负是需要判断的  不一定就是内外 跟线的端点顺序有关
 楼主| 发表于 2013-9-11 12:00:47 | 显示全部楼层
[阿然][阿然] 12:00:47
[qqimg]201309/{5781103E-95E9-9EB4-CFEC-A241C3DBE18A}.gif[/qqimg]
 楼主| 发表于 2013-9-11 13:54:11 | 显示全部楼层
[野狼谷]笨鸟 13:54:11
;;(setq ent(car(entsel "\n拾取要偏移的对象 :")))
                   (setq vla_ent (vlax-ename->vla-object ent)) ;_转成vla对象

                   ;;(setq vlaobj_1 (vla-Offset vlaobj 10))
                   ;;获取管道两边的扩展线,然后形成一个多边形,然后对多边形再向外扩展,主要解决pline两头不能扩展的问题

                   (vla-Offset vla_ent 1)
                   (setq Baspoint_List_1
                         (get-pline-point
                          (entlast)
                         )

                   ) ;_正的为向外偏移

                   (vla-Offset vla_ent -1)
                   (setq Baspoint_List_2
                         (get-pline-point
                          (entlast)

                         )
                   ) ;_负的为向内偏移

                   (setq Baspoint_List
                         (append Baspoint_List_1
                             (reverse Baspoint_List_2)
                             (car Baspoint_List_1)
                         )
                         ;;技术处理说明:将两边的线上点连一起,注意第二条线需要反向,然后还需要对第二条线最终连到第一条的起点
                   )
                   ;;    (append '( 1 2 3)    '( 4 5 6))          
                   ;;建立用于检测的方框
                   (Draw_Pline Baspoint_List 0.5)
 楼主| 发表于 2013-9-11 14:53:17 | 显示全部楼层
[bavfpl]雷闪电族 14:53:17
用vlisp 调用ActiveX 进行图案填充,发现不能成功,其它语言调用ActiveX的图案填充,都不能成功,不知咋的,
 楼主| 发表于 2013-9-11 15:03:27 | 显示全部楼层
[陈亚娣][GD_MK_LIANG]________ 15:03:27
请教各位大侠,PL线可以像图上那样储存数据吗?
[wosyuwu]容颜 15:05:07
应该可以吧。。等高手解惑
[陈亚娣][GD_MK_LIANG]________ 15:05:29
期待解惑。。
[ahwx0814]雨中漫 15:06:29
可以,扩展数据
[bavfpl]雷闪电族 15:06:33
应该是扩展词典吧,
[陈亚娣][GD_MK_LIANG]________ 15:07:29
扩展数据,能在特性那里显示出来修改吗?
[ahwx0814]雨中漫 15:08:06
组码
[wosyuwu]容颜 15:08:12
哦。。。
[陈亚娣][GD_MK_LIANG]________ 15:09:02
"格式是 (-3 . (""  1 2 3……))"
能详细点的代码吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 06:50 , Processed in 0.205384 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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