• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      工藝尺寸鏈求解的AutoCAD C#二次開發(fā)

      2021-10-20 12:18:16陳光霞
      湖北農(nóng)機化 2021年18期
      關(guān)鍵詞:界線二次開發(fā)公差

      陳光霞

      (江漢大學(xué)智能制造學(xué)院,湖北 武漢 430056)

      0 前言

      在設(shè)計、制造、裝配機械零部件的過程中,工藝尺寸鏈的計算是不可或缺的,在新產(chǎn)品的研發(fā)過程中,其作用更為重要[1]。零件圖中所標注的尺寸公差是零件加工最終所需要達到的要求,即設(shè)計要求,而工藝過程中的許多中間工序的尺寸公差,是在機械加工工藝規(guī)程設(shè)計中通過計算工藝尺寸鏈才能確定的[2]。傳統(tǒng)工藝尺寸鏈的計算是由設(shè)計人員確定工藝尺寸鏈以及尺寸鏈中的各組成環(huán)的類別,再利用相差計算公式計算各組成環(huán)的基本尺寸及公差,此方法效率比較低且容易產(chǎn)生差錯,導(dǎo)致設(shè)計錯誤。

      AutoCAD軟件是二維設(shè)計圖繪制的常用軟件,其功能強大,使用方便,是目前機械設(shè)計中常用的計算機輔助軟件,它提供了強大的二次開發(fā)功能,如AutoLisp、ObjectARX、VBA以及C#都可對AutoCAD進行二次開發(fā),其中C#是利用.NET環(huán)境進行二次開發(fā)的方式之一,其開發(fā)周期短、開發(fā)便捷[3],是目前較為常用的開發(fā)方式之一。

      本文利用C#語言及.NET Framework組件開發(fā)了一個可以在AutoCAD環(huán)境下繪制被加工零件簡圖,并在其上標注工藝尺寸,形成工藝尺寸鏈,用戶只需要選擇其中的一個尺寸作為封閉環(huán),即可自動對圖中尺寸進行遍歷,自動搜索尺寸,查找工藝尺寸鏈,最后計算出未知尺寸的基本尺寸及其公差。

      1 程序?qū)崿F(xiàn)的方法

      程序?qū)崿F(xiàn)功能的基本思路如下:

      利用AutoCAD軟件繪制加工零件簡圖,并標注相應(yīng)的工藝尺寸,待求尺寸鏈中的環(huán)為A,如圖1所示。其實現(xiàn)思路流程如圖2所示。

      圖1 零件簡圖

      圖2 功能實現(xiàn)流程圖

      2 程序功能實現(xiàn)的關(guān)鍵技術(shù)

      2.1 尺寸數(shù)據(jù)的獲取

      在AutoCAD中尺寸數(shù)據(jù)是存儲在其圖形數(shù)據(jù)庫(Database)中,要完成尺寸鏈的計算必須首先獲取圖中所標注尺寸的數(shù)據(jù)。讀取尺寸數(shù)據(jù)的步驟如下:

      (1)獲取當前圖形文檔。

      Document doc=Application.DocumentManager.MdiActiveDocument

      (2)獲取當前工作圖形數(shù)據(jù)庫。

      Database acCurDb=HostApplicationServices.WorkingDatabase

      (3)建立當前圖形數(shù)據(jù)庫事務(wù)。

      Transaction acTrans=acCurDb.TransactionManager.StartTransaction()

      以只讀方式打開當前圖形數(shù)據(jù)塊表記錄

      遍歷塊表記錄,當實體為尺寸實體時,讀取其數(shù)據(jù)存入尺寸數(shù)據(jù)數(shù)組中。

      為了存儲尺寸數(shù)據(jù)建立如下所示的尺寸數(shù)據(jù)結(jié)構(gòu):

      public struct Dimdata

      {

      public string DimType;//尺寸類型

      public string LoopType { get;set;}//環(huán)類型

      public Point3d StartPt;//第一尺寸界線起點坐標

      public Point3d EndPt;//第二尺寸界線起點坐標

      public double DimVal { get;set;}//基本尺寸

      public double DimTpval { get;set;}//尺寸上偏差

      public double DimTmval { get;set;}//尺寸下偏差

      public Point3d CenterPt;//徑向尺寸圓心坐標

      public ObjectId DimObjid;//尺寸實體的ID

      public bool Flag;//使用標志

      }。

      并建立結(jié)構(gòu)數(shù)組來保存尺寸相關(guān)數(shù)據(jù)。

      2.2 尺寸鏈形成及增減環(huán)的自動判斷

      本文以水平尺寸鏈為例,如圖3所示:首先判斷封閉環(huán)2個尺寸界線起點的X坐標的大小,將X坐標小的作為第二尺寸界線起點(如A0為封閉環(huán),左邊為第二尺寸界線起點);然后搜索尺寸鏈的其它尺寸,若某個尺寸的尺寸界線起點的X坐標等于封閉環(huán)第二尺寸界線起點的X坐標(如圖3所示A2的左邊起點),則此尺寸為尺寸鏈的下一環(huán),并將此尺寸界線起點作為A2的第一尺寸界線起點,另一個尺寸界線的起點作為第二尺寸界線的起點;第三步再判斷A2的2個尺寸界線起點的X坐標大小,當?shù)诙叽缃缇€起點的X坐標大于第一尺寸界線起點的X坐標,則此尺寸為增環(huán),反之為減環(huán)(A2為增環(huán));再以A2的第二尺寸界線起點的X坐標去搜索,當下一個尺寸的2個尺寸界線起點中有一個點的X坐標與A2的第二尺寸界線起點相等,則為尺寸鏈的下一環(huán),如圖3的A1,同樣的方法,再判斷A1兩個尺寸界線起點X坐標的大小關(guān)系,從而判斷其增減性。

      圖3 尺寸鏈增減環(huán)判斷

      如果尺寸鏈為垂直尺寸鏈,則以尺寸的尺寸界線起點坐標的Y坐標作為判斷依據(jù)。如果是平面尺寸鏈,則以尺寸界線起點的X、Y坐標作為判斷依據(jù)。

      2.3 直徑尺寸的處理

      在工藝尺寸鏈的計算過程中,對直徑尺寸的處理方法是基本尺寸取一半,公差也取一半作為尺寸鏈中的一個環(huán)。如圖4中的19.8及20兩個尺寸。本文以水平尺寸鏈為例說明其處理方法。

      圖4 直徑尺寸的處理

      當尺寸實體的類型為“AcDbDiametricDimension”或為“AcDbRotatedDimension”但其替代文本中含有“%%C”字符串時,都是直徑尺寸,如果是“AcDbDiametricDimension”類型,則將尺寸線變換為水平后,求出2個尺寸界線的起點坐標,存入數(shù)組中。當一個直徑的2個尺寸界線起點中有一個與現(xiàn)有尺寸中的尺寸界線起點坐標相同,如尺寸Φ40的左尺寸界線起點與43.6的左尺寸界線起點相同,則它的另一個尺寸界線起點用圓心坐標替代,基本尺寸及上下偏差均取半。

      3 結(jié)論

      圖1所示的工藝尺寸鏈計算結(jié)果如圖5所示。

      圖5 工藝尺寸鏈計算結(jié)果圖

      利用C#進行工藝尺寸鏈的自動計算,開發(fā)方法簡單,可以有效地減輕計算工作量和避免計算錯誤,有利用于提高工藝規(guī)程設(shè)計的工作效率。

      猜你喜歡
      界線二次開發(fā)公差
      The Beasts Within
      有界線性算子的Drazin逆的逆序律
      淺談基于Revit平臺的二次開發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      淺談Mastercam后處理器的二次開發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      西門子Easy Screen對倒棱機床界面二次開發(fā)
      關(guān)于進一步加強行政區(qū)域界線管理維護邊界地區(qū)社會穩(wěn)定的意見
      青海政報(2017年8期)2017-07-31 18:05:02
      帶有中心值的百分數(shù)的公差表示方式
      公差里的“五朵金花”
      婚姻的智慧,是分寸和界線
      海峽姐妹(2016年7期)2016-02-27 15:21:26
      帶有中心值的百分數(shù)的公差表示方式
      长顺县| 聂荣县| 祁门县| 海门市| 略阳县| 依安县| 平和县| 临猗县| 保靖县| 彰化市| 文安县| 将乐县| 灵璧县| 南投县| 汤原县| 勐海县| 拜泉县| 连云港市| 新化县| 涟源市| 石景山区| 正安县| 堆龙德庆县| 宁夏| 德保县| 随州市| 灵台县| 烟台市| 始兴县| 新余市| 永和县| 河曲县| 高要市| 马边| 武冈市| 吉林省| 甘谷县| 龙口市| 玉龙| 桃江县| 岱山县|