明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2788|回复: 10

[讨论] 请教有没有lsp比对两个像素”所有”地方是否相同的功能?

[复制链接]
发表于 2011-7-18 22:40:20 | 显示全部楼层 |阅读模式
本帖最后由 lincctw_ccl 于 2011-7-18 22:49 编辑

现在做图为了防出错!会在像素上做不同大小的防呆(如做模具相关的人应知道我指的是什么)
防呆的方式不外由
or
or
R
orC角做出差异化
在绘图过程头脑是很清楚~会去调配所有零件是否相同或做出差异
但最后要标示尺寸时问题就来了!!因为也忘了哪个零件是是相同大小是可共用的!因为完全一样的零件须编同一个编号
试过从周长及面积去做判别还是无法比对出!!!
想请教有没有是可比对两像素是否完全相等的函数?
或有哪位前辈有类似可达成我要求的源码可给小弟一份!!
谢谢!!

本帖子中包含更多资源

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

x
发表于 2011-7-20 20:49:49 | 显示全部楼层
可以用面积和周长去判断, 除了是镜向件,旋转角度都是可以的.
 楼主| 发表于 2011-7-20 21:37:16 | 显示全部楼层
本帖最后由 lincctw_ccl 于 2011-7-20 21:43 编辑

回复 祥子 的帖子

謝謝
我試過了
10*9  和 11*8 的矩形 週長 和面積 都是一樣的!!
我現在遇到的問題 是在繪製過程中,可以很清醒的知道 鑲件可共用?何者要做出差異但在標注零件 繪製零件圖時 就搞不清了
有試過在繪製時就把同樣大小可共用的先寫個文字記號明一下!
但總是覺得麻煩
要是有一個零件忘寫標號!
到最後還是要再對一次
所以在這想請教看看大家有沒有什麼好的方法!!!


发表于 2011-7-20 21:43:00 | 显示全部楼层
10*9面积=90,周长=38

11*8面积=88,周长=38

两个面积不相等的
 楼主| 发表于 2011-7-20 22:02:11 | 显示全部楼层
回复 祥子 的帖子

糗了!!
現在是用週長在比對的!!
是用點選圖元 寫出週長去比較數字!!
也有可能 的狀況是外型完全一樣~但裡面的某個孔(比如螺絲孔位置不同,雖然外形一樣 但還是有防呆的效果)
发表于 2011-7-20 22:18:30 | 显示全部楼层
回复 lincctw_ccl 的帖子

  
其实用周长和面积一起计算,除了镜像件,应该是可以比对的,至少我还没有发现问题
1. 先选取一对比物件,取出面积加周长
2.再框选要对比的物件,并建个空选集
3,循环计算对比的物件,,取出面积加周长与主图元对比,如相同则加入一个选集中
4,亮显相同的物件选集
 楼主| 发表于 2011-7-20 23:15:24 | 显示全部楼层
回复 祥子 的帖子

大哥您說太深澳了!
大約了解您所說的效果!!
可是水平有限 寫不出來!

可否請幫看看!!
剛查了 說明 看到有一個 EQUAL
請問這樣用法對嗎? 怎麼都不會出現  alert

謝謝!!

(DEFUN C:TT(/ OLDOS PT PT1 STA STB AREA1 AREA2 lastEntb lastEntA)
  (SETVAR "CMDECHO" 0)
  (SETVAR "OSMODE" 0)
  (SETQ PT (GETPOINT"\n 比较图形 a:"))
  (SETQ STA (BPOLY PT))
  (IF (= STA NIL) (EXIT))     
  (COMMAND "AREA" "E" "L")
  (SETQ AREA1 (RTOS (GETVAR "AREA") 2 2))
  (COMMAND "TEXT" PT "" "" AREA1)
(setq lastEnta (entlast))
  (SETQ PT1 (GETPOINT"\n 比较图形 b:"))
  (SETQ STb (BPOLY PT1))
  (IF (= STb NIL) (EXIT))     
  (COMMAND "AREA" "E" "L")
  (SETQ AREA2 (RTOS (GETVAR "AREA") 2 2))
  (COMMAND "TEXT" PT1 "" "" AREA2)
(setq lastEntb (entlast))
(if (equal lastEnta lastEntb)
(alert " 面积相符!!")
)
  (SETVAR "CMDECHO" 1)
  (PRINC)
)

发表于 2011-7-21 10:47:45 | 显示全部楼层
(equal <比较值1> <比较值2> <误差>)
发表于 2011-7-21 12:28:57 | 显示全部楼层
本帖最后由 qjchen 于 2011-7-21 17:05 编辑

回复 祥子 的帖子

:)
面积和周长相等的,不一定就是同型,如下图

不过这个条件,至少可以极快地进行判断,是很不错的过滤方法。

个人觉得此题,是否如此考虑一下,也只能是近似的了
假如能确定某点是起点的话,那么先得到(vlax-curve-getEndParam curve-obj)
假如两者一致,再细分如100份,从(vlax-curve-getPointAtParam curve-obj param),验证此100点是否都与起点同距离,是的话,再验证是否每两邻点与起点连线是否相互夹角相等。是的话,近似地两者有点相等。
刚刚搜索了一下,zml84兄,曾经写过此功能的程序
http://zml84.blog.sohu.com/77983032.html

但假如起点不同的话,则需进行更加复杂的判断。

说不定有更简单的方法吧


本帖子中包含更多资源

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

x
发表于 2011-7-21 12:34:49 | 显示全部楼层
既然是完全一样的,为什么不用块来处理呢,用插入块的方式,检查块名就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-12 05:26 , Processed in 0.201432 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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