明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2770|回复: 14

[基础] [求助]请高手帮我分析下这小程序哪里有问题?

  [复制链接]
发表于 2010-6-26 11:09 | 显示全部楼层 |阅读模式

编程目的:为任一平面矩形的长边增加小矩形外框
              小矩形外框长度比原矩形长边多300mm,而高度固定为300mm
              小矩形外框与原矩形平行,长边中点都在同一直线,两矩形长边距离100mm

 

现在出现的情况是:在新建文档中绘一矩形,再运行本程序,基本可以达到目标(但也不完美),在test.dwg或任一建筑平面中运行就不成功!

 

在test.dwg中有要求达到的效果,在test.lsp中有我的思路(初学者,比较乱)

 

请高手帮我分析下为什么会这样,请提宝贵意见,十分感谢!

本帖子中包含更多资源

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

x
发表于 2010-6-26 20:05 | 显示全部楼层
本帖最后由 作者 于 2010-6-27 19:50:12 编辑

测试能通过。不知有什么问题?
下面是改写的一个程序:
游客,本帖隐藏的内容需要发帖数高于 1 才可浏览,你当前发帖数只有 0

 楼主| 发表于 2010-6-27 01:24 | 显示全部楼层

首先感谢版主:ZZXXQQ 的热心解答!

我用原程序在AutoCAD 2006(破解版)下运行的,运行的结果为:

 

而用版主的修改后的程序运行,在新建的文档中,正常,但是其它图纸运行则不正常,请版主(或其它高手)试试附件中的“三层平面图”

 

请问这是我CAD(破解版)的问题,还是此类小程序不能在其它专业软件绘制的图纸中运行(有冲突??)

 

谢谢指教!

本帖子中包含更多资源

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

x
发表于 2010-6-27 05:20 | 显示全部楼层
調用副程式前,不知樓主如何處理鎖點問題?
发表于 2010-6-27 07:55 | 显示全部楼层
osmode
 楼主| 发表于 2010-6-27 13:43 | 显示全部楼层

你好,请问什么是锁点

我是初学者,不明白什么是锁点,帮忙讲解下,在我的小程序中如何应用?谢谢了!
 楼主| 发表于 2010-6-27 14:27 | 显示全部楼层
感谢:ZZXXQQ、lsjj、Ea 的热心解答,在其它网站上我找到锁点的问题,在程序绘图之前设定OSMODE为0,之后再还原,问题得到解决。谢谢大伙了!
 楼主| 发表于 2010-6-27 14:35 | 显示全部楼层

现在我有个新的想法,每次绘小边框的时候都要选三个点(长边起点、终点、短边终点),太麻烦了,我想通过 entget 函数得到关联表,从中获取相关信息,再自动判断长、短边,及计算边长来实现目标。这样会节省很多时间,特别是当有很多矩形要加外框的情况。

 

但是我现在还没找到矩形关联表里的各群码代表什么意思?有哪位网友可以提供相关资料呢?谢谢啦!

发表于 2010-6-27 18:11 | 显示全部楼层
  • (defun Ba ()
  •  (setvar "cmdecho" 0)
  •  (setq pt1 (getpoint "\n指定长边起点 :")
  •        pt2 (getpoint pt1 "\n指定长边终点 :")
  •        pt3 (getpoint pt2 "\n指定短边终点 :"))
  •  (setq dis1 (distance pt1 pt2)
  •        dis2 (distance pt2 pt3)
  •        ang1 (angle pt1 pt2)
  •        ang2 (angle pt2 pt3)
  •        pt4 (polar (polar pt1 (+ ang1 pi) 150) (+ pi ang2) 100)
  •        pt5 (polar pt4 ang1 (+ dis1 300))
  •        pt6 (polar pt5 ang2 300)
  •        pt7 (polar pt4 ang2 300))
  •  (setq pc1 (polar pt1 ang2 (/ dis2 2))
  •        pc2 (polar pc1 ang1 dis1))
  •  (setvar "osmode" 0)                                         ;关闭捕捉
  •  (command "pline" pt4 pt5 pt6 pt7 "c")
  •  (command "mirror" "l" "" pc1 pc2 "N")
  • (setvar "osmode" 35)                                         ;打开捕捉
  •  (princ)
  • )
  • 发表于 2010-6-27 18:29 | 显示全部楼层
    2楼改了,能框选,再试试。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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

    GMT+8, 2024-5-20 19:09 , Processed in 0.371006 second(s), 28 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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