锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久久国产精品mv,欧美日韩综合视频,国产日韩一区在线http://m.shnenglu.com/eryar/PipeCAD - Plant Piping Design Software. <br> PlantAssistant - Translate AVEVA RVM/SP3D VUE to glTF, STEP, etc.zh-cnSun, 16 Nov 2025 01:33:06 GMTSun, 16 Nov 2025 01:33:06 GMT60瑙f瀽SP3D VUE鍜孭DMS RVM鏂囦歡-PlantAssistanthttp://m.shnenglu.com/eryar/archive/2025/11/09/PlantAssistant_Background.htmleryareryarSun, 09 Nov 2025 12:42:00 GMThttp://m.shnenglu.com/eryar/archive/2025/11/09/PlantAssistant_Background.htmlhttp://m.shnenglu.com/eryar/comments/230477.htmlhttp://m.shnenglu.com/eryar/archive/2025/11/09/PlantAssistant_Background.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230477.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230477.html寮曡█

渚濇墭涓繪祦宸ュ巶璁捐杞歡鏁板瓧鍖栦氦浠樻暟鎹枃浠訛紝AVEVA鍏徃PDMS/E3D鐨凴VM鍜孖ntergraph鍏徃SP3D鐨刅UE錛?/p>

Model Files

PlantAssistant鍙互瑙f瀽VUE鍜孯VM涓笁緇存ā鍨嬫暟鎹紝灞炴ф暟鎹紝淇濈暀璁捐鐩綍鏍戯紝騫跺彲浠ュ皢榪欎簺淇℃伅杞崲鎴愰氱敤鐨勪笁緇存枃浠舵牸寮忥紝濡侴LTF, OBJ絳夛紝涓烘暟瀛楀寲浜や粯鎻愪緵鏈嶅姟銆侾lantAssistant涓夌淮嫻忚鍔熻兘鍏嶈垂浣跨敤錛屼負涓夌淮妯″瀷璇勫鎻愪緵涓涓交閲忓寲鐨勫伐鍏楓?/p>

涓夌淮瑙嗗浘璁劇疆

鏍規嵁鐢ㄦ埛鍙嶉錛屽湪PlantAssistant涓鍔犺鍥劇浉鍏寵緗夐」錛屽璁劇疆鏄惁鏄劇ず鍧愭爣杞淬佽鍥炬柟鍧椼佷笁緇磋鍥捐儗鏅紝鍙互璁劇疆鑳屾櫙棰滆壊錛岃繕鍙互璁劇疆涓寮犲浘鐗囦綔涓轟笁緇磋鍥捐儗鏅?/p>

Background Options

鍙﹀榪樹慨澶嶄腑鏂囨樉紺轟貢鐮佺殑闂錛屽寘鎷璁$洰褰曟爲涓婂悕縐版樉紺轟腑鏂囦貢鐮侊紝灞炴т腑鏂囦貢鐮侊紝浠ュ強瀵煎嚭GLTF涓璁$洰褰曟爲鍚嶇О鍙婂睘鎬т腑鏂囦貢鐮侀棶棰樸?/p>

涓嬭澆PlantAssistant

PlantAssistant杞歡鍦≒ipeCAD QQ緹ゆ枃浠朵腑涓嬭澆錛屾榪庡ぇ瀹朵笅杞戒嬌鐢ㄥ弽棣堟剰瑙併?br style="margin: 0px; padding: 0px;" />嬈㈣繋澶у鍔犲叆PipeCAD QQ浜ゆ祦緹?964851855錛屼氦嫻佽蔣浠墮棶棰樸佸績寰楋細
PipeCAD QQ



eryar 2025-11-09 20:42 鍙戣〃璇勮
]]>
PlantAssistant-鍏嶈垂鏌ョ湅RVM/VUEhttp://m.shnenglu.com/eryar/archive/2025/10/25/PlantAssistant_0_1_6.htmleryareryarSat, 25 Oct 2025 09:24:00 GMThttp://m.shnenglu.com/eryar/archive/2025/10/25/PlantAssistant_0_1_6.htmlhttp://m.shnenglu.com/eryar/comments/230475.htmlhttp://m.shnenglu.com/eryar/archive/2025/10/25/PlantAssistant_0_1_6.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230475.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230475.html寮曡█

渚濇墭涓繪祦宸ュ巶璁捐杞歡鏁板瓧鍖栦氦浠樻暟鎹枃浠訛紝AVEVA鍏徃PDMS/E3D鐨凴VM鍜孖ntergraph鍏徃SP3D鐨刅UE錛?/p>

image

鎴戜滑鎯蟲妸宸ュ巶鏁板瓧鍖栧姪鎵婸lantAssistant鍋氭垚澶у璁捐宸ヤ綔涓殑涓涓ソ甯墜銆傝繖鏄垜浠瀯鎯崇殑PlantAssistant鐨勪竴浜涘姛鑳斤紝涓昏鏄宸ュ巶妯″瀷榪涜瀹℃煡銆佹ā鍨嬬殑杞崲鍜屽鐢ㄥ強鑷姩鍑哄浘鍔熻兘銆?/p>

image

閫氳繃瑙f瀽榪欎袱涓富嫻佽璁¤蔣浠剁殑鏁版嵁錛屽彲浠ュ疄鐜板伐鍘傛ā鍨嬬殑涓夌淮鍙鍖栵紝浠庤岃繘琛屾ā鍨嬬殑瀹℃煡銆傜幇鍦ㄥ彂甯冧竴涓増鏈紝鍙互鐢ㄦ潵鍏嶈垂鏌ョ湅RVM鍜孷UE鐨勪笁緇存ā鍨嬶紝騫朵笖杞婚噺灝忓閥銆?/p>

RVM&VUE

PlantAssistant鏀寔嫻忚RVM妯″瀷鍙婃煡鐪嬪搴旂殑灞炴э紝鐐瑰嚮涓夌淮妯″瀷瀵硅薄錛屼細鑷姩瀹氫綅鍒拌璁″鑸爲錛?/p>

image

PlantAssistant鏀寔嫻忚VUE妯″瀷錛屾殏涓嶆敮鎸佸睘鎬ф暟鎹殑鏌ョ湅錛屾鍦ㄥ紑鍙戜腑錛屼笅涓増鏈皢浼氭敮鎸併?/p>

image

涓嬭澆PlantAssistant

PlantAssistant杞歡鍦≒ipeCAD QQ緹ゆ枃浠朵腑涓嬭澆錛屾榪庡ぇ瀹朵笅杞戒嬌鐢ㄥ弽棣堟剰瑙併傛榪庡ぇ瀹跺姞鍏ipeCAD QQ浜ゆ祦緹?964851855錛屼氦嫻佽蔣浠墮棶棰樸佸績寰楋細

image


eryar 2025-10-25 17:24 鍙戣〃璇勮
]]>
姝︽眽鍥炬牳縐戞妧http://m.shnenglu.com/eryar/archive/2025/10/20/TUHE_TECH.htmleryareryarMon, 20 Oct 2025 02:59:00 GMThttp://m.shnenglu.com/eryar/archive/2025/10/20/TUHE_TECH.htmlhttp://m.shnenglu.com/eryar/comments/230473.htmlhttp://m.shnenglu.com/eryar/archive/2025/10/20/TUHE_TECH.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230473.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230473.html鏂扮殑鍚嶅瓧

錛岀畝鍗曟槑浜?/span>銆傜洿鎺ュ湪鏀垮姟涓績緗戠珯鍦ㄧ嚎鍔炵悊錛屼竴澶╁氨鍔炲ソ浜嗭紝榪樻槸寰堟柟渚跨殑錛屼篃綆楀姙鎴愪竴浠剁О蹇冪殑浜嬫儏銆傛柊鐨勫悕瀛楋紝鏂扮殑璧風偣錛?/p>

浜у搧綆浠?/span>

宸ュ巶鏁板瓧鍖栧姪鎵?PlantAssistant

鎵璋撴ā鍨嬪鐢ㄦ槸鎸囬氳繃PlantAssistant灝哛VM/ATT絳夋暟鎹漿鎹㈠埌鐩稿簲鐨勮璁¤蔣浠朵腑錛屼嬌鏁版嵁涓嶅啀鏄崟鍚戠殑錛岃屾槸鍙互寰幆婊氬姩璧鋒潵錛岃鏁版嵁鍙戞尌鏇村ぇ浠峰箋?/section>

綆¢亾杞存祴鍥懼紩鎿?IsoAlgo

涓夌淮鏅鴻兘鍑哄浘杞歡 AutoDraft

涓夌淮綆¢亾璁捐杞歡 PipeCAD



eryar 2025-10-20 10:59 鍙戣〃璇勮
]]>OpenCASCADE HLR 杞粨綰?/title><link>http://m.shnenglu.com/eryar/archive/2023/12/03/occt_hlr_contour_ana.html</link><dc:creator>eryar</dc:creator><author>eryar</author><pubDate>Sun, 03 Dec 2023 12:53:00 GMT</pubDate><guid>http://m.shnenglu.com/eryar/archive/2023/12/03/occt_hlr_contour_ana.html</guid><wfw:comment>http://m.shnenglu.com/eryar/comments/230218.html</wfw:comment><comments>http://m.shnenglu.com/eryar/archive/2023/12/03/occt_hlr_contour_ana.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/eryar/comments/commentRss/230218.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/eryar/services/trackbacks/230218.html</trackback:ping><description><![CDATA[<h1 style="text-align: center;">OpenCASCADE HLR Quadric Surface Outline Edge</h1> <p>Key Words: HLR, Outline Edge, Sihouette Edge</p> <h2>1 Introduction</h2> <p>OpenCASCADE涓叧浜庨殣钘忕嚎娑堥櫎HLR綆楁硶鐨勬弿榪板氨鏄竴鍙ヨ瘽錛歍hese algorithms are based on the principle of comparing each edge of the shape to be visualized with each of its faces, and calculating the visible and the hidden parts of each edge. 鍗蟲牴鎹潰鍒ゆ柇姣忔潯杈笶dge鐨勯伄鎸″叧緋伙紝璁$畻鍑鴻竟Edge鍙鍜屼笉鍙閮ㄥ垎銆傛墍浠LR綆楁硶鐨勮緭鍏ヤ富瑕佷負杈瑰拰闈紝璁$畻閬尅鍏崇郴渚濊禆綰塊潰姹備氦綆楁硶銆傚浜庣簿紜殑HLR綆楁硶渚濊禆綺劇‘鐨勭嚎闈㈡眰浜ょ畻娉曪紝PolyAlgo綆楁硶渚濊禆澶氭綰夸笌緗戞牸姹備氦綆楁硶銆傝緭鍏ョ殑杈逛腑闄や簡BREP涓殑杈逛互澶栵紝榪樻湁涓綾繪槸鏍規嵁鎶曞獎鏂瑰悜璁$畻寰楁潵鐨勶紝鍗沖杞粨綰縊utline錛屼篃縐頒負Contour綰褲侫CIS鐨凱HLR涓О杞粨綰縎ihouette Edge銆?/p> <p><img src="https://img2023.cnblogs.com/blog/534255/202312/534255-20231203204423504-1679258260.png" alt="" /></p> <p>杞粨綰跨殑璁$畻鏄疕LR涓瘮杈冨叧閿殑涓姝ワ紝鏈枃浠penCASCADE涓畝鍗曠殑浜屾鏇查潰鐨勮疆寤撶嚎璁$畻鍏ユ墜鏉ョ悊瑙f洸闈㈢殑杞粨綰挎蹇碉紝涓虹悊瑙d換鎰忔洸闈㈣疆寤撶嚎璁$畻鎵撲笅鍩虹銆?/p> <h2>2 Outline Builder</h2> <p>OpenCASCADE鐨凥LR涓嬌鐢ㄧ被HLRTopoBRep_OutLiner鏉ヨ綆楀杞粨綰褲傝疆寤撶嚎鐨勮綆椾緷璧栨姇褰辨柟鍚戝強鎶曞獎鏂瑰紡錛屼富瑕佽綆楅昏緫鍦ㄥ嚱鏁癋ill()涓細</p> <p><img src="https://img2023.cnblogs.com/blog/534255/202312/534255-20231203204440944-1736661418.png" alt="" /></p> <p>鎶曞獎鏂瑰紡涓昏鍒嗕負閫忚鎶曞獎Perspective鍜屽鉤琛屾姇褰憋紝宸ョ▼鍥劇敓鎴愪竴鑸嬌鐢ㄥ鉤琛屾姇褰辨柟寮忋傚疄闄呰綆楃被鏄疌ontap_Contour錛屽湪綾籆ontap_Contour涓張鏍規嵁鎶曞獎鏇查潰綾誨瀷鍒嗕負涓ょ綾誨瀷鏉ュ鐞嗭細</p> <ul> <li>浜屾鏇查潰</li> <li>浠繪剰鏇查潰</li> </ul> <p><img src="https://img2023.cnblogs.com/blog/534255/202312/534255-20231203204448284-503267688.png" alt="" /></p> <p>鍏朵腑鍑芥暟PerformAna()涓鴻綆楀鉤闈€佺悆闈€佸渾鏌遍潰銆佸渾閿ラ潰鐨勫杞粨綰匡紝鏈緇堜細浣跨敤綾籆ontap_ContAna銆傚叾涓瑼na涓篈nalytical瑙f瀽鏇查潰鐨勬剰鎬濓紝榪欓噷鎸囪兘鐢ㄨВ鏋愯〃杈懼紡琛ㄧず鐨勪簩嬈℃洸闈€?/p> <h2>3 Contap_ContAna</h2> <p>綾籆ontap_ContAna鑳借綆楃悆闈€佸渾鏌遍潰鍜屽渾閿ラ潰鐨勫杞粨綰緾ontour錛屼笅闈㈡垜浠富瑕佹潵鐪嬬湅榪欎笁綾婚潰鐨勫杞粨綰胯綆楃粨鏋溿?/p> <p><img src="https://img2023.cnblogs.com/blog/534255/202312/534255-20231203204520587-275740948.png" alt="" /></p> <p>瀵逛簬騫寵鎶曞獎鐞冮潰浼氱敓鎴愪互鎶曞獎鏂瑰悜涓烘硶鍚戯紝浠ョ悆鍗婂緞涓哄崐寰勭殑涓涓渾錛屼唬鐮佸涓嬫墍紺猴細</p> <p><img src="https://img2023.cnblogs.com/blog/534255/202312/534255-20231203204533447-647385516.png" alt="" /></p> <p>濡備笅鍥炬墍紺轟腑鐨勭豢鑹茬殑綰匡細</p> <p><img src="https://img2023.cnblogs.com/blog/534255/202312/534255-20231203204542473-1297893842.png" alt="" /></p> <p>瀵逛簬騫寵鎶曞獎鍦嗘煴闈細鐢熸垚涓ゆ潯鐩寸嚎錛岃嫢鎶曞獎鏂瑰悜涓庡渾鏌遍潰娉曞悜騫寵鏃朵笉鐢熸垚杞粨綰匡紝榪欐椂灝辨槸浣跨敤鍦嗘煴浣撲腑鐨勪笂涓嬩袱涓渾鐨勮竟銆備唬鐮佸涓嬫墍紺猴細</p> <p><img src="https://img2023.cnblogs.com/blog/534255/202312/534255-20231203204549730-207895601.png" alt="" /></p> <p>鐢熸垚鐨勪袱鏉$洿綰挎柟鍚戜負鍦嗘煴闈㈢殑杞存柟鍚戯細</p> <p><img src="https://img2023.cnblogs.com/blog/534255/202312/534255-20231203204557306-1576414130.png" alt="" /></p> <p>鍦嗛敟闈㈢殑杞粨綰跨敓鎴愬嚱鏁伴昏緫綾諱技錛岀暀緇欒鑰呰嚜琛屽垎鏋愮悊瑙c?/p> <h2>4 Conclusion</h2> <p>緇間笂鎵榪幫紝BREP鐨凥LR綆楁硶闇瑕佽綆楁ā鍨嬬殑澶栬疆寤撶嚎銆傚鐞冧綋鐨凚REP杈規湁涓や釜閫鍖栬竟錛堟瀬鐐癸級錛屽強涓や釜閲嶅悎杈癸紝鑻ユ潵鎶曞獎瀹炶川涓婂彧鏈夐噸鍚堣竟涓殑涓鏉¤竟鏈夌敤錛岃岃繖涓竟榪樻槸涓崐鍦嗐備粠鐞嗚В 綆鍗曠殑浜屾鏇查潰澶栬疆寤撶嚎璁$畻鍑芥暟鍏ユ墜錛屽啀鍘繪繁鍏ョ悊瑙d換鎰忔洸闈㈢殑澶栬疆寤撶嚎璁$畻鏂規硶銆?/p> <p>鐞嗚ВHLR瀹炵幇鍘熺悊錛屽彲浠ラ噸鏋凥LR浠g爜錛屼篃鍙互瀹屽叏鑷繁鍔ㄦ墜錛屽紑鍙戝嚭婊¤凍瀹為檯闇姹傜殑鑷姩鍑哄浘紼嬪簭錛岃嚜鍔ㄥ嚭鍥炬槸宸ョ▼綾昏璁¤蔣浠朵腑鐩稿鏍稿績鐨勫姛鑳斤紝鐩墠鍥藉唴鍩轟簬PDMS鍋氳嚜鍔ㄥ嚭鍥劇浉鍏寵蔣浠跺紑鍙戠殑灝辨湁寰堝瀹躲傛湰鐫寮鏀劇殑蹇冩佸垎浜繖浜涚浉瀵規瘮杈冨叧閿姛鑳界殑鍘熺悊錛岃鍥藉唴榪欎簺浜у搧鑳芥憜鑴卞熀浜嶢utoCAD/BricsCAD寮鍙戞帴鍙f垨PDMS Draft鐨勯檺鍒訛紝寮鍙戝嚭鏇村ソ鐢ㄣ佹洿鑷敱鐏墊椿鐨勮蔣浠躲?/p><img src ="http://m.shnenglu.com/eryar/aggbug/230218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/eryar/" target="_blank">eryar</a> 2023-12-03 20:53 <a href="http://m.shnenglu.com/eryar/archive/2023/12/03/occt_hlr_contour_ana.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>OpenCASCADE 綰塊潰姹備氦http://m.shnenglu.com/eryar/archive/2023/12/02/occt_intcs.htmleryareryarSat, 02 Dec 2023 04:23:00 GMThttp://m.shnenglu.com/eryar/archive/2023/12/02/occt_intcs.htmlhttp://m.shnenglu.com/eryar/comments/230216.htmlhttp://m.shnenglu.com/eryar/archive/2023/12/02/occt_intcs.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230216.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230216.htmlOpenCASCADE 綰塊潰姹備氦

eryar@163.com

1 Introduction

OpenCASCADE涓嚑浣曟洸綰夸笌鏇查潰姹備氦浣跨敤綾籊eomAPI_IntCS錛屾槸瀵圭被IntCurveSurface_HInter鐨勭畝鍗曞皝瑁呫傚湪IntCurveSurface_HInter涓鏇茬嚎鍜屾洸闈㈡眰浜ゅ垎涓轟互涓嬪嚑縐嶇被鍨嬶細

  • PerformConicSurf錛氫簩嬈℃洸綰夸笌鏇查潰姹備氦錛屽叾涓張鍒嗕負涓ょ被錛氫簩嬈℃洸綰夸笌浜屾鏇查潰姹備氦鍜屼簩嬈℃洸綰垮拰鑷敱鏇查潰姹備氦錛?/li>
  • InternalPerformCurveQuadric錛氳嚜鐢辨洸綰夸笌浜屾鏇查潰姹備氦錛?/li>
  • InternalPerform錛氳嚜鐢辨洸綰垮拰鑷敱鏇查潰姹備氦錛?/li>

鏈枃涓昏浠嬬粛鏇茬嚎涓庢洸闈㈡眰浜ょ殑瀹炵幇鍘熺悊銆?/p>

2 浜屾鏇茬嚎涓庝簩嬈℃洸闈㈡眰浜?/h2>

浜屾鏇茬嚎涓庝簩嬈℃洸闈㈡眰浜や嬌鐢↖ntAna_ConicQuad璁$畻錛屼富瑕佹濊礬鏄皢鏇茬嚎鐢ㄥ弬鏁版柟紼嬭〃紺猴紝浠e叆浜屾鏇查潰鐨勪唬鏁版柟紼嬨備簩嬈℃洸闈㈠彲浠ヤ嬌鐢ㄤ簩嬈″欏瑰紡琛ㄧず錛屽皢浜屾鏇茬嚎涓庝簩嬈℃洸闈㈢浉浜よ〃紺烘垚涓涓欏瑰紡鏂圭▼錛屼嬌鐢╩ath_DirectPolynomialRoots瀵瑰欏瑰紡鏂圭▼榪涜姹傝В銆?/p>

3 浜屾鏇茬嚎涓庤嚜鐢辨洸闈㈡眰浜?/h2>

浜屾鏇茬嚎涓庤嚜鐢辨洸闈㈡眰浜ゅ皢鏇查潰浣跨敤IntCurveSurface_Polyhedron鍦║錛孷涓婇噰鏍風鏁e緱鍒癵rid緗戞牸銆傝繖涓被瀹炵幇涓嶪ntPolyh_MaillageAffinage綾誨姛鑳芥湁閲嶅銆?/p>

IntCurveSurface_ThePolygon澶氭綰夸笌Intf_InterferencePolygonPolyhedron 緗戞牸姹備氦錛屾牴鎹孌電嚎涓庣綉鏍兼眰浜ゆ儏鍐碉紝鎵懼埌鍒濆鍊鹼紝浣跨敤IntImp_IntCS璁$畻綺劇‘鍊箋備笌鏇查潰姹備氦鐨凪arching綆楁硶綾諱技錛屼嬌鐢ㄨ凱浠f硶鍘昏綆楃簿紜氦鐐廣傝凱浠f柟紼嬩負IntImp_ZerCSParFunc錛屽啓鍑鴻繖涓柟紼嬬殑Value()鍊艱綆楀拰Derivatives()寰垎璁$畻鍏紡銆?/p>

灝嗘洸綰夸笌鏇查潰姹備氦闂杞寲涓烘眰鏇查潰鍙傛暟u,v鍜屾洸綰垮弬鏁皐錛屼嬌鏇茬嚎C(w)鏇查潰S(u,v)涓婄殑鐐歸噸鍚堬紝寤虹珛鍑芥暟濡備笅錛?/p>

F(u,v,w)=S(u,v) - C(w)

鎵姹傜殑綺劇‘浜ょ偣婊¤凍鏂圭▼F(u,v,w)=0錛孎涓轟竴鍚湁涓変釜鍧愭爣鐨勭煝閲忥紝瀵瑰簲鍑芥暟Value()錛?/p>

Fx(u,v,w)=Sx(u,v) - Cx(w) = 0

Fy(u,v,w)=Sy(u,v) - Cy(w) = 0

Fz(u,v,w)=Sz(u,v) - Cz(w) = 0

涓婇潰涓哄惈鏈変笁涓柟紼嬬殑浠,v,w涓哄彉閲忕殑闈炵嚎鎬ф柟紼嬬粍錛岀簿紜氦鐐瑰氨鏄潪綰挎ф柟紼嬬粍鐨勮В銆備嬌鐢ㄧ被math_FunctionSetRoot搴旂敤Newton-Raphson榪唬娉曟眰瑙i潪綰挎ф柟紼嬬粍鐨勮В銆備嬌鐢∟ewton榪唬娉曟湁涓墠鎻愭潯浠舵槸瑕佹眰闈炵嚎鎬ф柟紼嬬粍涓闃跺彲瀵鹼紝鍗寵鍐欏嚭Jacobian榪唬鐭╅樀錛屽嵆涓婅堪鍑芥暟Derivatives()鐨勫疄鐜板師鐞嗭細

4 鑷敱鏇茬嚎涓庝簩嬈℃洸闈㈡眰浜?/h2>

鑷敱鏇茬嚎涓庝簩嬈℃洸闈㈡眰浜ntCurveSurface_TheQuadCurvExactInter 錛岄氳繃綾籌ntCurveSurface_TheQuadCurvFuncOfTheQuadCurvExactHInter寤虹珛浜屾鏇查潰涓庢洸綰夸箣闂寸殑鍑芥暟錛屾槸姹傝В鏇茬嚎涓婂弬鏁癠鐨勪竴鍏冨嚱鏁般?/p>

5 鑷敱鏇茬嚎涓庤嚜鐢辨洸闈㈡眰浜?/h2>

鑷敱鏇茬嚎涓庤嚜鐢辨洸闈㈡眰浜ゅ拰浜岀淮鑷敱鏇茬嚎姹備氦綾諱技錛岄噰鐢ㄧ殑紱繪暎娉曘傚嵆灝嗘洸綰塊氳繃閲囨牱紱繪暎鎴愬孌電嚎Polygon錛屽皢鏇查潰閲囨牱鐢熸垚緗戞牸Polyhedron錛岄氳繃綾籌ntCurveSurface_TheInterferenceOfHInter鏉ヨ綆楀孌電嚎涓庣綉鏍肩殑鐩鎬氦銆?/p>

鍖匢ntf涓昏鐢ㄦ潵璁$畻浜岀淮澶氭綰褲佷笁緇村孌電嚎鍙婄綉鏍肩殑鐩鎬氦銆傛牴鎹鏁h綆楃殑綺椾氦鐐癸紝鍐嶆牴鎹被IntCurveSurface_TheExactHInter浣跨敤榪唬娉曟眰寰楃簿紜氦鐐廣傝繖涓濇兂涓庢洸闈㈠拰鏇查潰姹備氦鐩稿悓銆?/p>

6 姹備氦緇撴灉

鏇茬嚎涓庢洸闈㈡眰浜ょ殑緇撴灉涓昏涔熸槸淇濆瓨鍦ㄧ被IntCurveSurface_Intersection瀵硅薄涓紝榪欎釜綾葷殑璁捐涓庝簩緇存洸綰挎眰浜ょ被浼鹼紝涓嶅鐩存帴銆?/p>

鍙互鐪嬪埌IntCurveSurface_Intersection榪欎釜綾葷殑鏋勯犲嚱鏁版槸protected鐨勶紝鎰忔濇槸涓嶈兘鐩存帴浣跨敤錛岄氳繃媧劇敓綾籌ntCurveSurface_HInter璋冪敤SetValues()鍑芥暟灝嗘眰浜ょ粨鏋滀繚瀛樿搗鏉ャ傛眰浜ょ粨鏋滀負浜ょ偣IntCurveSurface_IntersectionPoint鍜屼氦綰縄ntCurveSurface_IntersectionSegment銆?/p>

鍏朵腑浜ょ偣涓璉ntCurveSurface_IntersectionPoint淇濆瓨浜嗕笁緇村潗鏍囩偣錛屼氦鐐瑰湪鏇查潰涓婄殑U,V鍙傛暟錛屼氦鐐瑰湪鏇茬嚎涓婄殑鍙傛暟U鍙婄浉浜ょ姸鎬併備氦綰夸富瑕佹槸綰跨幇闈㈠拰閲嶅悎閮ㄥ垎鐨勫嚑浣曞寮傛儏鍐墊暟鎹?/p>

浠庣被鍥句笂鍙互鐪嬪嚭錛岃繖涓璺悓鏍風敤鍒頒簡HLR綆楁硶涓紝鐞嗚В榪欎釜濂楄礬瀵圭悊瑙LR綆楁硶鏈夊府鍔┿?/p>

7 Conclusion

緇間笂鎵榪幫紝OpenCASCADE涓皢鏇茬嚎涓庢洸闈㈡眰浜ゆ牴鎹洸綰垮拰鏇查潰綾誨瀷鐨勪笉鍚屽垎鍒鐞嗐備簩嬈℃洸綰挎洸闈㈡眰浜や緷璧朓ntAna鍖咃紝鑷敱鏇茬嚎鍜岃嚜鐢辨洸闈㈡眰浜や嬌鐢ㄧ鏁f硶錛屾渶緇堝疄鐜扮畻娉曚笌涓や釜鏇查潰姹備氦鐨凪arching綆楁硶綾諱技錛岄氳繃紱繪暎寰楀埌鐨勭簿浜ょ偣錛屽啀浠e叆榪唬鏂圭▼姹傚緱綺劇‘瑙c傚叾涓妸鏇茬嚎鎴栨洸闈㈢鏁g殑閲囨牱鐐規病鏈夎冭檻鏇茬嚎鎴栨洸闈㈢殑鏇茬巼絳夛紝閲囨牱鐐規暟閲忚緝澶э紝浼氬獎鍝嶆ц兘 銆傛洸闈㈤噰鏍風鏁d唬鐮佷笌鏇查潰姹備氦涓殑鏈夐噸澶嶃備粠鍑犱綍姹備氦綾諱腑鍙互鐪嬪埌娌℃湁瀹瑰樊鐨勮緭鍏ワ紝鍙互鎬濊冧竴涓嬭繖涓棶棰樸?/p>

TKGeomAlgo涓櫎浜嗘嫙鍚堢畻娉曞錛屽ぇ閮ㄥ垎浠g爜涓昏灝辨槸綰跨嚎姹備氦銆佺嚎闈㈡眰浜ゅ強闈㈤潰姹備氦綆楁硶銆傜悊瑙h繖浜涚畻娉曠殑瀹炵幇鍘熺悊錛屼負Boolean綆楁硶鐨勬眰浜ら昏緫鎵撲笅鍩虹銆?/p>

 



eryar 2023-12-02 12:23 鍙戣〃璇勮
]]>
OpenCASCADE-HLR Edgehttp://m.shnenglu.com/eryar/archive/2023/12/02/occt_hlr_edges.htmleryareryarSat, 02 Dec 2023 04:23:00 GMThttp://m.shnenglu.com/eryar/archive/2023/12/02/occt_hlr_edges.htmlhttp://m.shnenglu.com/eryar/comments/230217.htmlhttp://m.shnenglu.com/eryar/archive/2023/12/02/occt_hlr_edges.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230217.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230217.htmlOpenCASCADE-HLR Edge

1 Introduction

鐢ㄨ綆楁満鐢熸垚涓夌淮鐗╀綋鐨勭湡瀹炲浘褰紝鏄綆楁満鍥懼艦瀛︾爺絀剁殑閲嶈鍐呭銆傜湡瀹炲浘褰㈠湪浠跨湡妯℃嫙銆佸嚑浣曢犲瀷銆佸箍鍛婂獎瑙嗗拰縐戝璁$畻鍙鍖栫瓑璁稿棰嗗煙閮芥湁鐫騫挎硾搴旂敤銆傚湪鐢ㄦ樉紺鴻澶囨弿榪扮墿浣撶殑鍥懼艦鏃訛紝蹇呴』鎶婁笁緇翠俊鎭粡榪囨煇縐嶆姇褰卞彉鎹㈠湪浜岀淮鐨勬樉紺哄鉤闈笂緇樺埗鍑烘潵銆備粠涓夌淮鎶曞獎鍒頒簩緇寸殑闄嶇淮鎿嶄綔錛屼細瀵艱嚧鍥懼艦鐨勪簩涔夋с傝娑堥櫎榪欑被浜屼箟鎬э紝灝卞繀欏誨湪緇樺埗鏃舵秷闄よ閬尅鐨勪笉鍙鐨勭嚎鎴栭潰錛屼範鎯笂縐頒箣涓烘秷闄ら殣钘忕嚎Hidden Line Removal鍜岄殣钘忛潰Hidden Face Removal銆?/p>

榪欐槸娓叉煋鏄劇ず涓婂娑堥殣鐨勯渶姹傦紝鍦ㄦ牴鎹笁緇存ā鍨嬭嚜鍔ㄧ敓鎴愬伐紼嬪浘鐨勫伐紼嬭璁¤蔣浠朵腑錛屽娑堥殣鐨勯渶姹傛湁鎵涓嶅悓銆?/p>

宸ョ▼璁捐杞歡涓庢満姊拌璁¤蔣浠朵笉鍚岋紝宸ョ▼璁捐杞歡涓嬈″嚭鍥炬秷闅愮殑妯″瀷閲忓ぇ錛屽鍑哄浘鐨勭畻娉曡姹備富瑕佹湁錛?/p>

  • 涓昏浣跨敤娑堥殣綰跨畻娉曪紱
  • 娑堥殣寰楀埌鐨勭嚎鑳芥壘鍒頒笌涓夌淮妯″瀷鐨勫叧緋伙紝鏂逛究鏍囨敞妯″瀷淇℃伅錛屽妯″瀷鍚嶇О銆佽鏍肩瓑錛?/li>
  • 鑷姩鏍囨敞甯冨眬綆楁硶錛岃兘瀵規爣娉ㄧ殑鍚嶇О銆佽鏍肩瓑鑷姩甯冨眬錛屽噺灝戞墜宸ヨ皟鏁達紱
  • 鑷姩灝哄鏍囨敞錛?/li>
  • 絎﹀彿鍖栧鐞嗭紝濡傜閬撴ā鍨嬭兘鐢ㄤ竴鏉$嚎絎﹀彿鍖栧鐞嗭紱

鍏跺疄鏈鍚庢葷粨鎴愪竴鍙ヨ瘽灝辨槸涓閿牴鎹ā鍨嬬敓鎴愯兘浜や粯鐨勫浘綰搞傝櫧鐒剁幇鍦ㄦ妧鏈笂鍏峰涓夌淮妯″瀷涓嬭濺闂寸殑鑳藉姏錛屼絾鏄洰鍓嶄簩緇村浘綰鎬緷鐒舵槸璁捐浜や粯銆佸姞宸ュ埗閫犱富瑕佷緷鎹傚伐紼嬬被璁捐杞歡涓昏鐨勫姛鑳藉氨鏄揩閫熷緩妯★紝紕版挒媯嫻嬪拰鑷姩鍥劇焊鐢熸垚銆傚綋妯″瀷閲忓ぇ鏃訛紝娑堥殣閫熷害蹇強鑷姩鐢熸垚鐨勬爣娉ㄦ枃瀛楁帓鍒楁暣榻愶紙鎴栨弧瓚沖伐紼嬩範鎯級鎴愪簡浜岀淮鍥劇焊鑷姩鐢熸垚鐨勬牳蹇冩妧鏈紝涔熸槸紼嬪簭澶勭悊涓殑闅劇偣銆?/p>

2 HLR

鍑犱綍鍐呮牳涓鑸兘鎻愪緵HLR綆楁硶錛岀敤鏉ユ牴鎹ā鍨嬫姇褰辯敓鎴愪簩緇村伐紼嬪浘銆侽penCASCADE鐨凥LR鎻愪緵浜嗛殣钘忕嚎娑堥殣綆楁硶銆?/p>

https://www.spatial.com/zh/products/cgm-hlr-hidden-line-removal

OpenCASCADE 鎻愪緵浜嗕袱縐嶆秷闅愮畻娉曪細HLRBRep_Algo鍜孒LRBRep_PolyAlgo銆傝繖浜涚畻娉曢兘鏄熀浜庣浉鍚岀殑鍘熺悊錛氭瘮杈冨艦鐘舵瘡鏉¤竟鐩稿姣忎釜闈㈢殑鍙鎬э紝騫?璁$畻姣忔潯杈圭殑鍙閮ㄥ垎涓庢秷闅愰儴鍒嗐傜畻娉曢氳繃璁$畻鍦ㄦ寚瀹氭姇褰辨柟鍚戜笂鐨勭墿浣撴樉紺虹壒鎬э紝鍘婚櫎鎴栨爣璁拌闈㈤伄鎸$殑杈廣傝繖涓や釜綆楁硶涔熶笌涓浜涙彁鍙栧姛鑳介厤鍚堜嬌鐢紝濡傞噸鏋勪竴 涓畝鍖栫殑妯″瀷絳夛紝綆鍖栧悗鏂扮殑妯″瀷鐢辮竟緇勬垚錛屽氨鏄湪鎶曞獎鏂瑰悜涓婄殑杞粨綰褲?/p>

3 杈圭殑鍒嗙被

OpenCASCADE鐨凥LR涓皢杈瑰垎涓轟互涓嬬被鍨嬶細

  • Sharp Edges
  • Smooth Edges
  • Sewn Edges
  • Outline Edges
  • Isoparameter Edges

浠庣被HLRBRep_HLRToShape鍜岀被HLRBRep_PolyHLRToShape涓粰鍑轟簡榪欎簺杈圭殑涓浜涘畾涔夈傚叾涓璖harp Edge琛ㄧずC0榪炵畫錛堥潪G1榪炵畫錛夌殑杈癸紝灝辨槸涓鑸珽dge錛?/p>

Smooth Edge琛ㄧずG1榪炵畫錛堥潪G2 榪炵畫錛夌殑杈癸紱

Sewn Edge琛ㄧずG2榪炵畫鐨勮竟錛?/p>

Outline Edge琛ㄧず妯″瀷鐨勮疆寤撹竟錛岃繖縐嶇被鍨嬬殑杈逛笉鍦˙REP鏁版嵁涓紝闇瑕佹牴鎹姇褰辨柟鍚戠敓鎴愶紱

Isoparameter Edge琛ㄧず闈㈢殑絳夊弬綰跨敓鎴愮殑杈癸紝榪欑綾誨瀷鐨勮竟涓嶄篃涓嶅湪BREP鏁版嵁涓紱

鍏朵腑Sharp Edge銆丼mooth Edge鍜孲ewn Edge涓鑸兘鏄疊REP涓殑EDGE鏁版嵁錛岃孫utline Edge鍜孖soparameter Edge鏄牴鎹緗澶栫敓鎴愮殑杈廣傜悊瑙h竟鐨勮繖浜涘畾涔夛紝鏂逛究瀵笻LR綆楁硶榪涜鐞嗚В銆侶LR綆楁硶鏄浉瀵圭畝鍗曠殑綆楁硶錛屼富瑕佹槸灝卞皢涓婅堪浜旂綾誨瀷鐨勮竟涓庨潰榪涜姹備氦錛屽垽鏂伄鎸″叧緋匯?/p>

鐩墠OpenCASCADE涓殑HLR綆楁硶浠g爜鍐欏緱鏈夌偣涔憋紝涓婃鍦ㄦ繁鍦硂gg鐨勪縿緗楁柉寮鍙戜漢鍛樻彁鍒拌閲嶆瀯HLR閮ㄥ垎鐨勪唬鐮併傛繁鍏ョ悊瑙?HLR綆楁硶錛屼負鑷姩鐢熸垚鍥劇焊鍔熻兘鎵撲笅鍩虹銆?/p>

 



eryar 2023-12-02 12:23 鍙戣〃璇勮
]]>
OpenCASCADE浜岀淮鏇茬嚎姹備氦http://m.shnenglu.com/eryar/archive/2023/12/02/occt_int_curve2d.htmleryareryarSat, 02 Dec 2023 04:22:00 GMThttp://m.shnenglu.com/eryar/archive/2023/12/02/occt_int_curve2d.htmlhttp://m.shnenglu.com/eryar/comments/230215.htmlhttp://m.shnenglu.com/eryar/archive/2023/12/02/occt_int_curve2d.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230215.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230215.htmlOpenCASCADE浜岀淮鏇茬嚎姹備氦

1 Introduction

OpenCASCADE涓浜岀淮鏇茬嚎姹備氦鍜屼笁緇存洸綰挎眰浜ゆ槸涓嶅悓鐨勶紝涓夌淮鏇茬嚎姹備氦緇熶竴浣跨敤紱繪暎娉曪紝浜岀淮鏇茬嚎姹備氦鏍規嵁鏇茬嚎綾誨瀷鐨勪笉鍚屽垎縐嶇被鍨嬭繘琛屽鐞嗐備簩緇存洸綰挎眰浜や腑榪樻彁渚涗簡璁$畻鑷氦鐨勭洿鎺ユ帴鍙c傚湪TKGeomAlgo涓紝涓昏鍐呭灝辨槸鎷熷悎銆佹眰浜ょ畻娉曪紝鐞嗚В姹備氦綆楁硶鐨勫疄鐜板師鐞嗭紝杈懼埌鑳介槄璇誨拰淇敼婧愮爜鐨勭姸鎬侊紝鑳藉鍒嗘瀽鍜岃В鍐沖疄闄呴亣鍒扮殑闂錛岀悊瑙penCASCADE鐨勮兘鍔涜竟鐣岋紝鏍規嵁闇瑕侀夋嫨鎵闇瑕佺殑鍔熻兘錛屼嬌杞歡緇撴灉鍙帶銆傛湰鏂囦富瑕佷粙緇嶄簩緇存洸綰跨浉浜ょ殑瀹炵幇鍘熺悊銆?/p>

鐢變簬OpenCASCADE寮鍙戞椂闂寸浉瀵逛箙榪滐紝鍦ㄤ簩緇存洸綰挎眰浜ょ浉鍏充唬鐮佷腑澶ч噺浣跨敤浜嗗畯瀹氫箟鐨勬柟寮忔潵瀹炵幇C++ 鐨勬ā鏉縯emplate鑳藉姏錛屽畯瀹氫箟鍦ㄧ被鐨刋XX_0.cxx鏂囦歡涓紝瀵瑰簲妯℃澘瀹炵幇鍦?.gxx涓細

榪欑瀹炵幇鏂瑰紡浼氳浠g爜鐨勫彲璇繪у彉宸紝涓嶅埄浜庝唬鐮佺淮鎶ゃ傚簲璇ョ敤C++鐨勬柟寮忓榪欎簺*.gxx浠g爜閲嶆瀯錛屽寮轟唬鐮佸彲璇繪у拰鍙淮鎶ゆс?/p>

2 姹備氦鍒嗙被

浜岀淮姹備氦浣跨敤綾籊eom2dAPI_InterCurveCurve錛?榪欎釜綾繪槸瀵圭被Geom2dInt_GInter鐨勫皝瑁呫傚湪綾籊eom2dInt_GInter涓紝濡傛灉鍙緭鍏ヤ竴鏉℃洸綰匡紝鍙互璁$畻鑷氦錛屽鏋滆緭鍏ヤ袱鏉℃洸綰匡紝璁$畻涓ゆ潯鏇茬嚎鐨勭浉浜ゃ?/p>

  • IntCurve_IntConicConic錛氫簩嬈℃洸綰夸笌浜屾鏇茬嚎姹備氦銆備簩嬈℃洸綰夸笌浜屾鏇茬嚎姹備氦閮藉厛浣跨敤鍑犱綍鏂規硶璁$畻浜ょ偣錛屽啀鍒ゆ柇鏄惁鍦ㄥ弬鏁拌寖鍥村唴錛?/li>
  • Geom2dInt_TheIntConicCurveOfGInter錛氫簩嬈℃洸綰夸笌浠繪剰鏇茬嚎姹備氦銆備簩嬈℃洸綰夸笌浠繪剰鏇茬嚎姹備氦閫氳繃綾籊eom2dInt_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfGInter寤虹珛璺濈鏂圭▼錛屼嬌鐢ㄧ被math_FunctionAllRoots鏉ュ鏂圭▼榪涜姹傝В錛?/li>
  • Geom2dInt_TheIntPCurvePCurveOfGInter錛氫換鎰忔洸綰夸笌浠繪剰鏇茬嚎姹備氦銆傝嚜鐢辨洸綰挎眰浜や嬌鐢ㄧ鏁f硶IntCurve_IntPolyPolyGen錛屼嬌鐢ㄧ被Geom2dInt_ThePolygon2dOfTheIntPCurvePCurveOfGInter灝嗘洸綰塊氳繃閲囨牱鐐圭敓鎴愬孌電嚎Polyline錛屼嬌鐢ㄧ被Intf_InterferencePolygon2d璁$畻澶氭綰夸箣闂寸殑綺椾氦鐐癸紝鍐嶄嬌鐢ㄧ被IntCurve_ExactIntersectionPoint閫氳繃綺椾氦鐐規壘鍒版洸綰夸笂鐨勭簿紜氦鐐癸紱

榪欎簺綾婚兘鏄粠綾籌ntRes2d_Intersection媧劇敓錛?/p>

浠庝笂鍥懼彲鐭ワ紝浜岀淮姹備氦緇撴灉綾籌ntRes2d_Intersection鐩稿叧媧劇敓綾誨彲鐭ヤ簩緇存眰浜や笌HLR綆楁硶涔熸湁鍏崇郴錛岀悊瑙d簩緇存洸綰挎眰浜ら昏緫錛屽鐞嗚ВHLR浠g爜涔熸湁甯姪銆?/p>

3 鑷氦璁$畻

褰撳彧杈撳叆涓鏉℃洸綰挎椂錛屽彲浠ュ鏇茬嚎榪涜鑷氦璁$畻錛屼富瑕佸疄鐜伴昏緫涓猴細鑻ヤ負鏅氫簩嬈℃洸綰匡紝鍒欎笉浼氳嚜浜わ紱鑻ユ槸鍏朵粬鏇茬嚎錛屼嬌鐢ㄧ鏁f硶瀵規洸綰胯繘琛岃嚜浜よ綆椼備唬鐮佸涓嬪浘鎵紺猴細

4 姹備氦緇撴灉

浜岀淮鏇茬嚎姹備氦緇撴灉淇濆瓨鍒扮被IntRes2d_Intersection涓紝涓昏鍖呭惈涓ら儴鍒嗭細

  • IntRes2d_IntersectionPoint錛氫氦鐐規暟鎹紝淇濆瓨浜ょ偣鍧愭爣鍊鹼紝浜ょ偣鍦ㄤ袱涓洸綰夸笂鐨勫弬鏁幫紝鍙婁袱鏉℃洸綰垮湪浜ょ偣澶勭殑榪囨浮鐘舵乀ransition錛?/li>
  • IntRes2d_IntersectionSegment錛氫氦綰挎暟鎹紝褰撲袱鏉℃洸綰挎湁閲嶅彔鏃剁殑鍑犱綍濂囧紓鎯呭喌鏃訛紝姹備氦緇撴灉涓轟氦綰匡紱

鍥犱負綾籌ntRes2d_Interseciton鐨勬瀯閫犲嚱鏁皃rotected錛屾墍浠ヤ笉鑳界洿鎺ヤ嬌鐢ㄨ繖涓被錛岄兘鏄氳繃鍏舵淳鐢熺被浣跨敤鍑芥暟SetValues()灝嗚綆楀緱鍒扮殑浜ょ偣鍜屼氦綰挎暟鎹繚瀛樿搗鏉ャ傝繖閲岀被鐨勮璁℃瘮杈冪箒鐞愶紝浠g爜鍙鎬ц緝宸?/p>

5 Conclusion

OpenCASCADE瀵逛簬浜岀淮鏇茬嚎姹備氦榪涜鍒嗙被澶勭悊錛屾牴鎹洸綰跨被鍨嬫槸浜屾鏇茬嚎銆佸弬鏁版洸綰垮垎鎴愪笁綾伙細浜屾鏇茬嚎涓庝簩嬈℃洸綰挎眰浜ゃ佷簩嬈℃洸綰夸笌鍙傛暟鏇茬嚎姹備氦鍜屽弬鏁版洸綰夸笌鍙傛暟鏇茬嚎姹備氦錛屼笉鍚岀殑姹備氦綾誨瀷閲囩敤涓嶅悓鐨勭瓥鐣ュ彲浠ユ彁楂樻眰浜ゆц兘鍜岀ǔ瀹氭с備嬌鐢ㄧ鏁f硶璁$畻浜岀淮鏇茬嚎鑷氦銆備粠姹備氦緇撴灉鏉ョ湅錛屼篃澶勭悊浜嗗嚑浣曞寮傞棶棰橈紝鍗蟲洸綰塊噸鍙犳儏鍐點?/p>

瀵逛簬鏇茬嚎姹備氦榪樻湁寰堝ぇ鏀硅繘絀洪棿錛?/p>

  • 浣跨敤C++緙栫爜椋庢牸閲嶆瀯*.gxx浠g爜錛屾彁楂樹唬鐮佸彲璇繪э紝鏂逛究浠g爜緇存姢錛?/li>
  • 瀵逛簬鑷敱鏇茬嚎姹備氦鐨勭鏁f硶涓綆椾袱鏉″孌電嚎綆楁硶涓紩鍏VH鏉ュ姞閫燂紱
  • 灝嗘洸綰跨鏁f垚澶氭綰挎椂鑰冭檻​鏇茬嚎鐨勬洸鐜囧彉鍖栵紝涓嶈鍧囧寑閲囨牱錛屽噺灝戝孌電嚎鏁伴噺錛?/li>
  • 瀵逛簬涓夌淮鏇茬嚎姹備氦閮芥槸浣跨敤浜嗙鏁f硶錛屽緩璁儚浜岀淮鏇茬嚎姹備氦榪欐牱榪涜鍒嗙被澶勭悊錛屼互鍙婂紩鍏VH錛屾彁楂樻ц兘鍜岀ǔ瀹氭э紱

 



eryar 2023-12-02 12:22 鍙戣〃璇勮
]]>
OpenCASCADE - 鏇茬嚎鑷氦http://m.shnenglu.com/eryar/archive/2023/12/02/occt_edge_self_intersect.htmleryareryarSat, 02 Dec 2023 04:21:00 GMThttp://m.shnenglu.com/eryar/archive/2023/12/02/occt_edge_self_intersect.htmlhttp://m.shnenglu.com/eryar/comments/230213.htmlhttp://m.shnenglu.com/eryar/archive/2023/12/02/occt_edge_self_intersect.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230213.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230213.htmlOpenCASCADE - 鏇茬嚎鑷氦

1 Introduction

OpenCASCADE涓轟簩緇存洸綰挎彁渚涗簡姹備氦鍙婅嚜浜ょ殑綾?Geom2dAPI_InterCurveCurve錛氬綋浼犲叆涓涓簩緇村嚑浣曟洸綰挎椂鍙互璁$畻鑷氦self-intersections銆備絾鏄病鏈夋彁渚涚洿鎺ョ殑涓夌淮鍑犱綍鏇茬嚎姹備氦鐨勭被錛屼篃娌℃湁鐩存帴鐨勮綆楄嚜浜ょ殑綾匯傛湁浜哄悓瀛﹂棶OpenCASCADE鏈夋病鏈変笁緇存洸綰胯嚜浜ょ殑鍔熻兘錛屽叾瀹炵悊瑙d袱涓狤dge姹備氦綆楁硶鍚庯紝鍙互鑷繁瀹炵幇涓涓嚜浜ゅ嚱鏁般?/p>

2 Self-Intersection

鍥犱負OpenCASCADE涓袱鏉′笁緇存洸綰挎眰浜ょ殑綾繪槸IntTools_EdgeEdge錛屽叾瀹炵幇鍘熺悊鏄熀浜庡寘鍥寸洅鐨勫垎鍓叉硶銆傚熀浜庤繖涓垎鍓查掑綊鎬濇兂錛屽疄鐜拌嚜浜や篃鍙互鍙傝冭繖涓濊礬銆傜畻娉曠殑嫻佺▼涓猴細杈撳叆涓鏉¤璁$畻鑷氦鐨勮竟Edge錛屽杈硅繘琛岀鏁i噰鏍鳳紝灝嗛噰鏍峰緱鍒扮殑姣忔鏇茬嚎鐨勫寘鍥寸洅鐢熸垚BVH榪涜鐩鎬氦媯嫻嬶紝灝咮VH涓寘鍥寸洅鐩鎬氦鐨勪袱鏉℃洸綰胯皟鐢↖ntTools_EdgeEdge鏉ヨ綆楃浉浜ゃ?/p>

紱繪暎寰楀埌鐨勬洸綰挎浼氭瘮杈冨錛屽鏋滅敤涓や釜寰幆鏉ユ嫻嬩袱涓ゆ洸綰挎鐨勭浉浜ゆ儏鍐墊ц兘宸紝鍙互寮曞叆BVH鎻愰珮鎬ц兘銆?/p>

3 Test

鍙互閫氳繃鎻掑糏nterpolate鏉ユ瀯閫犳洸綰挎祴璇曪紝鎸囧畾鍑犱釜鑷氦鐐規潵鏋勯犳彃鍊兼洸綰褲傝綆楃粨鏋滃涓嬪浘鎵紺猴細

涓庢洸綰挎眰浜ゅ師鐞嗙被浼鹼紝閮芥槸浣跨敤紱繪暎鐨勬柟娉曪紝鍙互鎬濊冧竴涓嬫暟鍊肩畻娉曞浣曞鐞嗐?/p>

eryar 2023-12-02 12:21 鍙戣〃璇勮
]]>
OpenCASCADE鏇茬嚎涓婄偣鐨勫弽姹?/title><link>http://m.shnenglu.com/eryar/archive/2023/12/02/occt_extrema_pc.html</link><dc:creator>eryar</dc:creator><author>eryar</author><pubDate>Sat, 02 Dec 2023 04:21:00 GMT</pubDate><guid>http://m.shnenglu.com/eryar/archive/2023/12/02/occt_extrema_pc.html</guid><wfw:comment>http://m.shnenglu.com/eryar/comments/230214.html</wfw:comment><comments>http://m.shnenglu.com/eryar/archive/2023/12/02/occt_extrema_pc.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/eryar/comments/commentRss/230214.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/eryar/services/trackbacks/230214.html</trackback:ping><description><![CDATA[<h1 style="text-align: center;"><strong>OpenCASCADE鏇茬嚎涓婄偣鐨勫弽姹?/strong></h1> <p style="text-align: center;"><a href="mailto:eryar@163.com"><u>eryar@163.com</u></a></p> <h2>1 Introduction</h2> <p>鏇茬嚎鍙互鐢ㄤ唬鏁版柟紼嬭〃紺猴紝濡傚渾鍙互鐢╔^2+Y^2=R^2琛ㄧず錛屼篃鍙互鐢ㄥ弬鏁版柟紼媂(u)=RCos(u), Y(u)=RSin(u)琛ㄧず銆傝鍒ゆ柇鐐規槸涓嶆槸鍦ㄧ嚎涓婏紝鐢ㄦ洸綰夸唬鏁版柟紼嬪彲浠ュ緢鐩存帴寰楀嚭緇撴灉錛屼絾鏄嬌鐢ㄥ弬鏁版柟紼嬪氨娌℃湁閭d箞鐩存帴銆傝繖涔熸槸鍙傛暟鏇茬嚎涓婄偣鐨勫弽姹傞棶棰橈紝鍙傛暟鏇茬嚎涓婄偣鐨勫弽姹傞棶棰樺簲鐢ㄥ箍娉涳紝濡傚墠闈㈡墍榪板垽鏂偣鏄惁鍦ㄦ洸綰夸笂銆佺偣鍚戞洸綰挎姇褰便佺偣涓庣嚎鐨勬眰浜ゃ佺偣鍦ㄥ弬鏁版洸綰夸笂鐨勫弬鏁扮瓑錛岄兘涓庣偣鐨勫弽姹傞棶棰樼浉鍏熾傛湰鏂囦富瑕佺粨鍚堜唬鐮佷粙緇峅penCASCADE鏇茬嚎涓婄偣鐨勫弽姹傚疄鐜板師鐞嗗強浣跨敤榪囩▼涓殑涓浜涙敞鎰忎簨欏廣?/p> <h2>2 瀹炵幇鍘熺悊</h2> <p>鍦ㄣ奣he NURBS Book銆嬩功涓皢鐐圭殑鍙嶆眰闂褰掔粨涓虹偣鍚戞洸綰挎姇褰辮窛紱繪渶鐭殑闂錛屽涓嬪浘鎵紺猴細</p> <p><img src="https://img2023.cnblogs.com/blog/534255/202311/534255-20231121223308624-288654811.png" alt="" /></p> <p>寤虹珛鍑芥暟f(u)=C’(u).(C(u) - P)琛ㄧず鐐瑰埌鏇茬嚎璺濈錛屽綋f(u)=0鏃朵負鐐瑰埌鏇茬嚎鐨勬渶鐭窛紱伙紝涓嶇鐐筆鏄惁鍦ㄦ洸綰夸笂銆傚嚑浣曟剰涔夋槸鐐瑰埌鏇茬嚎浠繪剰鐐圭殑鍚戦噺涓庝換鎰忕偣澶勭殑鍒囧悜閲忕偣縐負闆訛紝琛ㄧず鍦ㄤ袱涓悜閲忓瀭鐩寸殑鏃跺欐眰寰楁瀬鍊肩偣銆傛敞鎰忔暟瀛︽柟紼嬩腑鍨傜洿榪欎釜鍑犱綍鎰忎箟銆?/p> <p>OpenCASCADE涓疄鐜版洸綰夸笂鐐圭殑鍙嶆眰鍘熺悊涓庛奣he NURBS Book銆嬩功涓竴鑷淬傜偣鐨勫弽姹備嬌鐢ㄧ被GeomLib_Tool::Parameter()鍑芥暟錛?/p> <p><img src="https://img2023.cnblogs.com/blog/534255/202311/534255-20231121223325985-1610888534.png" alt="" /></p> <p>杈撳叆鏇茬嚎銆佺偣鍜屾渶澶ц窛紱伙紝璁$畻鐐規槸鍚﹀湪鏇茬嚎涓婂強鑻ュ湪鏇茬嚎涓婏紝鐐瑰搴斿弬鏁版洸綰跨殑鍙傛暟U銆?/p> <p><img src="https://img2023.cnblogs.com/blog/534255/202311/534255-20231121223340394-1887945485.png" alt="" /></p> <p>綾籈xtrema_ExtPC璁$畻鐐筆鍒扮嚎C鐨勬瀬鍊糆xtrema銆傛牴鎹唬鐮佹敞閲婂彲浠ョ湅鍑虹偣鐨勫弽姹傛暟瀛︽柟紼嬩笌銆奣he NURBS Book銆嬩功涓竴鑷達細</p> <p><img src="https://img2023.cnblogs.com/blog/534255/202311/534255-20231121223354086-1220908578.png" alt="" /></p> <p>鏁板鏂圭▼瀵瑰簲鐨勭被鐨勫彉閲忎負myF錛岀被鍚嶄負Extrema_FuncExtPC錛屼粠綾籱ath_FunctionWithDerivative媧劇敓錛屾墍浠ュ繀欏誨疄鐜頒袱涓叧閿櫄鍑芥暟Value()鍜孌erivative()銆傚叾浠g爜娉ㄩ噴璇存槑浜嗚繖涓や釜鍑芥暟鐨勫疄鐜扮粏鑺傦細</p> <p><img src="https://img2023.cnblogs.com/blog/534255/202311/534255-20231121223407926-1740284446.png" alt="" /></p> <p>鍏朵腑F(u)瀵瑰簲鍑芥暟Value():</p> <p><img src="https://img2023.cnblogs.com/blog/534255/202311/534255-20231121223417144-1935074213.png" alt="" /></p> <p>DF(u)瀵瑰簲鍑芥暟Derivative()錛屾渶鍚庝嬌鐢∟ewton娉昺ath_FunctionRoots瀵規柟紼嬭繘琛屾眰鏍廣?/p> <h2>3 娉ㄦ剰浜嬮」</h2> <p>OpenCASCADE涓偣鐨勫弽姹侴eomLib_Tool::Parameter()銆佺偣鍚戞洸綰挎姇褰盙eomAPI_ProjectPointOnCurve銆佺偣涓庢洸綰跨殑浜ょ偣IntTools_Context::ComputeVE絳夌畻娉曢兘鏄嬌鐢ㄤ簡Extrema_ExtPC綾匯?/p> <p> </p> <p>褰撲嬌鐢℅eomLib_Tool::Parameter()鍑芥暟鏉ュ垽鏂偣鏄惁鍦ㄦ洸綰夸笂鏃訛紝娉ㄦ剰绔偣澶勭偣鐨勫弽姹傝婊¤凍鍨傜洿鐨勬潯浠訛紝鍗充嬌鐐逛笌鏇茬嚎鏌愪釜绔偣璺濈灝忎簬MaxDist鏃訛紝涔熸槸榪斿洖false銆傚嵆瀵逛簬鏇茬嚎绔偣澶勭殑鎯呭喌闇瑕佽嚜宸遍鍏堝鐞嗭紝鐩存帴綆楃偣P涓庢洸綰跨鐐硅窛紱諱笌MaxDist姣旇緝錛屽厛澶勭悊绔偣銆?/p> <p><img src="https://img2023.cnblogs.com/blog/534255/202311/534255-20231121223438492-2031001366.png" alt="" /></p> <p>鍙互鐪嬪埌榪欓噷涔熷鐞嗙殑绔偣澶勭殑鎯呭喌錛屼絾鏄渶鍚庢病鏈変笌MaxDist鏈夊叧緋伙紝鏈鍚庡宸槸Precision::SquareConfusion()銆?/p> <p><img src="https://img2023.cnblogs.com/blog/534255/202311/534255-20231121223453107-31137009.png" alt="" /></p> <p id="1700577295832"></p> <p> </p> <img src ="http://m.shnenglu.com/eryar/aggbug/230214.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/eryar/" target="_blank">eryar</a> 2023-12-02 12:21 <a href="http://m.shnenglu.com/eryar/archive/2023/12/02/occt_extrema_pc.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>OpenCASCADE 鏇茬嚎姹備氦http://m.shnenglu.com/eryar/archive/2023/12/02/occt_int_edge_edge.htmleryareryarSat, 02 Dec 2023 04:20:00 GMThttp://m.shnenglu.com/eryar/archive/2023/12/02/occt_int_edge_edge.htmlhttp://m.shnenglu.com/eryar/comments/230212.htmlhttp://m.shnenglu.com/eryar/archive/2023/12/02/occt_int_edge_edge.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230212.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230212.htmlOpenCASCADE 鏇茬嚎姹備氦

eryar@163.com

1 Introduction

OpenCASCADE涓彁渚涗簡浜岀淮鍑犱綍鏇茬嚎鐨勬眰浜ょ被Geom2dAPI_InterCurveCurve錛屽搴斿埌涓夌淮鍑犱綍鍙彁渚涗簡GeomAPI_IntCS, GeomAPI_IntSS錛屾病鏈夋彁渚涘嚑浣曠殑GeomAPI_IntCC姹備氦綾匯傝繖浜涘嚑浣曟眰浜や竴鑸嬌鐢ㄧ殑鏄暟鍊肩畻娉曪紝鍗寵В鏂圭▼銆傚浜庝袱鏉″嚑浣曟洸綰縋(u1), Q(u2)錛屾眰浜ゅ氨鏄ВP(u1) - Q(u2) = 0榪欎釜鏂圭▼銆備負浠涔堝浜庝笁緇村嚑浣曟洸綰挎病鏈夋彁渚涙暟鍊肩畻娉曪紵

瀵逛簬鎷撴湸杈規彁渚涗簡姹備氦綆楁硶IntTools_EdgeEdge錛岃繖涓被鏄嬌鐢ㄧ被浼間簬鏇查潰姹備氦鐨勭鏁g綉鏍兼硶錛屼嬌鐢ㄤ簡紱繪暎鍖呭洿鐩掓硶銆?/p>

鍩轟簬鍖呭洿鍚堢洅鐨勭畻娉曟槸涓掑綊綆楁硶錛岀畻娉曟濊礬錛?/p>

  1. 1) 媯鏌ヤ袱鏉¤竟鍦ㄥ弬鏁拌寖鍥村唴鐨勫寘鍥寸洅錛岃嫢絀洪棿騫叉秹錛屽垯榪涜涓嬩竴姝ワ紱鍚﹀垯閫鍑烘湰嬈″垽鏂紱
  2. 2) 鎵懼嚭涓ゆ潯杈瑰寘鍥寸洅鐨勫叕鍏遍儴鍒嗗搴旂殑鍙傛暟錛岃嫢娌℃壘鍒幫紝鍒欓鍑烘湰嬈″垽鏂紱
  3. 3) 騫跺皢絎竴鏉¤竟鍦ㄥ弬鏁拌寖鍥村唴鍒嗗壊鎴?鎴?閮ㄥ垎錛屾墽琛岀涓姝ワ紱
  4. 4) 閫鍑烘潯浠訛細娌℃湁鐩鎬氦鎴栨壘鍒扮浉浜ょ殑鍙傛暟鍊鹼紱

絎竴嬈℃槸鍒嗗埆鍒嗘垚2閮ㄥ垎錛?/p>

鍦ㄩ掑綊鍑芥暟FindSolutions()涓紝鍙幓瀵圭涓鏉¤竟榪涜鍙傛暟鍒嗗壊鎴?閮ㄥ垎錛?/p>

2 杈呭姪鍑芥暟

絎竴涓緟鍔╁嚱鏁版槸FindParameters()錛岀敤鏉ユ洿鏂扮浜屾潯杈瑰湪絎竴鏉¤竟鐨勭殑鍖呭洿鐩掍腑鐨勫弬鏁拌寖鍥達紝浣跨敤榪欎釜鍙傛暟鑼冨洿鏇存柊鍖呭洿鐩掋?/p>

絎簩涓緟鍔╁嚱鏁版槸CheckCoincidence()錛岀敤鏉ユ嫻嬩袱孌佃竟鏄惁閲嶅悎銆傜涓姝ユ槸蹇熻綆楋紝瀵硅竟閲囨牱10涓偣錛岃嫢閫氳繃鍒濇綺楁嫻嬶紝鍚庨潰鍐嶆繁鍏ヨ綆椼傝繖浜涚畻娉曢兘涓嶅お楂樻晥銆?/p>

絎笁涓緟鍔╁嚱鏁版槸IsIntersection()鐢ㄦ潵鍒ゆ柇涓よ竟鏉″湪鍙傛暟鑼冨洿鍐呮槸鍚︾浉浜ゃ?/p>

3 嫻嬭瘯

灝嗕袱鏉¤竟姹備氦榪囩▼涓殑鍖呭洿鐩掓樉紺哄嚭鏉ワ紝鏂逛究鏌ョ湅鐞嗚В綆楁硶銆傚厛嫻嬭瘯涓や釜鍦嗕箣闂寸殑鐩鎬氦錛?/p>

鍏朵腑絎竴鏉¤竟鏄豢鑹茬殑鍦嗭紝姹備氦榪囩▼涓殑鍖呭洿鐩掍篃鐢ㄧ豢鑹茶〃紺猴紱絎簩鏉¤竟鏄孩鑹茬殑鍦嗭紝姹備氦榪囩▼涓殑鍖呭洿鐩掍篃鐢ㄧ孩鑹茶〃紺恒傚洜涓哄渾鏄棴鍚堢殑錛岀涓嬈¢兘鍒嗗壊鎴?閮ㄥ垎銆傚皢涓婇潰浜ょ偣澶勭悊鏀懼ぇ錛?/p>

鍚庨潰閮芥槸灝嗙涓鏉¤竟鍒嗗壊鎴?閮ㄥ垎錛岀劧鍚庡垎鍒敤榪?閮ㄥ垎鐨勫寘鍥寸洅鍘繪壘涓庣浜屾潯杈圭浉浜ょ殑鍙傛暟鑼冨洿錛屽啀鏇存柊絎簩鏉¤竟鐨勫寘鍥寸洅銆傜戶緇斁澶т笂闈氦鐐瑰錛?/p>

鍙戠幇瀵逛簬涓や釜鍦嗙殑姹備氦錛屾墽琛屼簡100嬈★紝鏁堢巼涓嶉珮銆傚張鐢ㄤ袱涓狟鏍鋒潯鏇茬嚎姹備氦鏉ユ祴璇曪細

鍙戠幇瀵逛簬B鏍鋒潯鏇茬嚎姹備氦閫熷害杈冨揩銆?/p>

4 Conclusion

鏇茬嚎姹備氦闇瑕佽冭檻閲嶅悎閮ㄥ垎錛宱pencascae涓病鏈変嬌鐢ㄦ暟鍊肩畻娉曟潵璁$畻錛岃屾槸閲囩敤鍩轟簬鍖呭洿鐩掔殑綆楁硶鏉ュ鐞嗐傝繖縐嶇畻娉曚竴鑸儏鍐典笅鍙互蹇熸壘鍒版眰浜よВ錛屾湁鏃墮掑綊杈冩繁錛屽浜庡熀鏈洸綰垮彲浠ュ儚鏇查潰姹備氦涓鏍峰垎綾誨鐞嗕互鎻愰珮鎬ц兘銆俹pencascade涓浜庝笁緇存洸綰挎眰浜ょ畻娉曟ц兘榪樻湁浼樺寲絀洪棿銆?/p>

 



eryar 2023-12-02 12:20 鍙戣〃璇勮
]]>
[涔-OpenCASCADE鍙傝冧功綾?/title><link>http://m.shnenglu.com/eryar/archive/2023/12/02/occt_book.html</link><dc:creator>eryar</dc:creator><author>eryar</author><pubDate>Sat, 02 Dec 2023 04:19:00 GMT</pubDate><guid>http://m.shnenglu.com/eryar/archive/2023/12/02/occt_book.html</guid><wfw:comment>http://m.shnenglu.com/eryar/comments/230210.html</wfw:comment><comments>http://m.shnenglu.com/eryar/archive/2023/12/02/occt_book.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/eryar/comments/commentRss/230210.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/eryar/services/trackbacks/230210.html</trackback:ping><description><![CDATA[<p>瀛﹁屼笉鎬濆垯緗旓紝鎬濊屼笉瀛﹀垯孌嗐傚厜鐪嬩功綾嶇殑鐞嗚鐭ヨ瘑錛屾病鏈夊疄璺電湅涓嶅埌鏁堟灉銆傚厜鐪媜cc鐨勬簮鐮侊紝娌℃湁鐞嗚鏀拺錛屼笉鑳芥姄浣忓嚑浣曢棶棰樼殑鏈川銆?/p> <p>闄や簡鍦∣penCASCADE鍏ラ棬鎸囧崡涓帹鑽愮殑涔︾睄涔嬪錛岃繕鏈変竴浜涜繘闃剁殑涔︾睄錛屾斁鍦ㄩ偅鍎挎湁鏃墮棿灝辯湅鐪嬶紝鎬諱細鏈変簺鏀惰幏銆傛偀鎬т笉瓚籌紝鍙湁鍕よ兘琛ユ嫏銆傚浜庣湅涓嶆噦鐨勶紝鍙兘鐢?ldquo;涔﹁鐧鵑亶錛屽叾涔夎嚜瑙?rdquo;瀹夋叞涓涓嬭嚜宸便?/p> <p><img src="https://img2023.cnblogs.com/blog/534255/202310/534255-20231030202652972-1591293169.jpg" alt="" /></p> <p id="1698668816128">鐜嬪厓 鏁板澶ц緸鍏?nbsp; 宸ュ叿涔?nbsp; 鏂逛究涓浜涘畾涔夛紝鍏紡錛屽畾鐞嗙殑鏌ユ壘銆?/p> <p><img src="https://img2023.cnblogs.com/blog/534255/202310/534255-20231030202814672-30785715.jpg" alt="" /></p> <p id="1698668897899">銆婅綆楁満杈呭姪鍑犱綍璁捐瀵艱銆嬫瘮杈冨叏闈㈠湴浠嬬粛浜嗚綆楁満杈呭姪鍑犱綍璁捐鐨勫彂灞曞巻鍙插強鍏朵富瑕佸唴瀹瑰拰鏈鏂拌繘灞曪紝鍖呮嫭鐜頒唬鐨凾鏍鋒潯鏇茬嚎鏇查潰銆?/p> <p><img src="https://img2023.cnblogs.com/blog/534255/202310/534255-20231030202949643-100965336.jpg" alt="" /></p> <p>銆婃牱鏉″嚱鏁頒笌璁$畻鍑犱綍銆嬪彊榪版牱鏉″嚱鏁板拰璁$畻鍑犱綍鐨勫熀鏈悊璁哄拰鏂規硶錛屽悓鏃訛紝鎬葷粨浜嗕綔鑰呭嚑騫存潵鍦ㄨ棰嗗煙涓殑鐮旂┒鎴愭灉.</p> <p><img src="https://img2023.cnblogs.com/blog/534255/202310/534255-20231030203039481-1856922148.jpg" alt="" /></p> <p id="1698669042045">銆婄幇浠f暟瀛﹀熀紜涓涗功165錛氭暎涔辨暟鎹嫙鍚堢殑妯″瀷銆佹柟娉曞拰鐞嗚錛堢浜岀増錛夈嬩粙緇嶄簡澶氬厓鏁d貢鏁版嵁鎷熷悎鐨勪竴鑸柟娉曪紝鍖呮嫭澶氬厓鏁d貢鏁版嵁澶氶」寮忔彃鍊箋佸熀浜庝笁瑙掑墫鍒嗙殑鎻掑兼柟娉曘丅oole鍜屼笌Loons鏇查潰銆丼ibson鏂規硶鎴栬嚜鐒墮偦榪戞硶銆丼hepard鏂規硶銆並riging鏂規硶銆佽杽鏉挎牱鏉℃柟娉曘丮Q鎷熸彃鍊兼硶銆佸緞鍚戝熀鍑芥暟鏂規硶銆佽繍鍔?灝忎簩涔樻硶銆侀殣鍑芥暟鏍鋒潯鏂規硶銆丷鍑芥暟娉曠瓑銆傚悓鏃惰繕鐗瑰埆浠嬬粛浜嗚繎騫存潵鍥介檯涓婅秺鏉ヨ秺鐑茍鍦ㄦ棤緗戞牸寰垎鏂圭▼鏁板艱В鏂歸潰鏈夎澶氬簲鐢ㄧ殑寰勫悜鍩哄嚱鏁版柟娉曞強鍏剁浉鍏崇悊璁恒?/p> <p><img src="https://img2023.cnblogs.com/blog/534255/202310/534255-20231030203210737-959037925.jpg" alt="" /></p> <p id="1698669133469">涓昏鍐呭鍖呮嫭鍑犱綍鍋忓井鍒嗘柟紼嬬殑鏋勯犳柟娉曘佸悇縐嶅井鍒嗗嚑浣曠畻瀛愮殑紱繪暎鍖栨柟娉曞強鍏剁鏁f牸寮忕殑鏀舵暃鎬с佸嚑浣曞亸寰垎鏂圭▼鏁板兼眰瑙g殑鏈夐檺宸垎娉曘佹湁闄愬厓娉曚互鍙婃按騫抽泦鏂規硶錛岃繕鍖呮嫭鍑犱綍鍋忓井鍒嗘柟紼嬪湪鏇查潰騫蟲粦銆佹洸闈㈡嫾鎺ャ丯杈規礊濉ˉ銆佽嚜鐢辨洸闈㈣璁°佹洸闈㈤噸鏋勩佹洸闈㈡仮澶嶃佸垎瀛愭洸闈㈡瀯閫犱互鍙婁笁緇村疄浣撳嚑浣曞艦鍙樹腑鐨勫簲鐢ㄣ?/p> <p id="1698668992693"></p> <img src ="http://m.shnenglu.com/eryar/aggbug/230210.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/eryar/" target="_blank">eryar</a> 2023-12-02 12:19 <a href="http://m.shnenglu.com/eryar/archive/2023/12/02/occt_book.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>OpenCASCADE 鎵帬鏇查潰http://m.shnenglu.com/eryar/archive/2023/09/29/occt_sweep.htmleryareryarFri, 29 Sep 2023 13:38:00 GMThttp://m.shnenglu.com/eryar/archive/2023/09/29/occt_sweep.htmlhttp://m.shnenglu.com/eryar/comments/230116.htmlhttp://m.shnenglu.com/eryar/archive/2023/09/29/occt_sweep.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230116.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230116.htmlOpenCASCADE 鎵帬鏇查潰

eryar@163.com

1 Introduction

钂欑毊錛?strong>Skinning錛夊氨鏄皢涓綈囨埅闈㈡洸綰匡紙section curves錛夎瀺鍚堝湪涓璧風敓鎴愭洸闈㈢殑榪囩▼銆傝挋鐨彧鏄?strong>鏀炬牱錛?strong>Lofting錛夌殑鏂板悕璇嶏紝鏀炬牱鍙互榪芥函鍒拌綆楁満娌℃湭璇炵敓鐨勬椂鍊欙紝浠庨偅鏃跺埌鐜板湪錛屽畠涓鐩村湪閫犺埞銆佹苯杞﹀拰鑸┖宸ヤ笟涓騫挎硾鍦板簲鐢ㄣ?/p>

鎵帬錛?strong>Sweep錛夌爺絀剁殑鏄竴鏉℃埅闈㈡洸綰挎部浠繪剰璺緞鏇茬嚎鎵帬鐨勯棶棰樸傛牴鎹壂鎺犳洸闈㈢殑瀹氫箟錛屾壂鎺犳洸闈㈡湭蹇呴兘鑳借〃紺烘垚NURBS褰㈠紡錛屾墍浠ヤ竴鑸噰鐢ㄦ嫙鍚堢畻娉曟潵閫艱繎銆備竴縐嶇畻娉曟槸鍩轟簬钂欑毊娉曪紝娌跨潃璺緞鏇茬嚎鍙樻崲鍜岄噰鏍種涓埅闈紝鐒跺悗灝嗗畠浠綔涓烘埅闈㈡洸綰胯繘琛岃挋鐨傞殢鐫閲囨牱鏁伴噺N鐨勫鍔狅紝鐢熸垚鐨勬嫙鍚堟洸闈㈢簿搴︿篃灝嗘彁楂樸?/p>

鏈枃涓昏浠嬬粛OpenCASCADE涓壂鎺犻犲瀷綆楁硶鐨勪嬌鐢紝闄や簡涓婇潰涓鑸殑鎵帬鏇查潰錛岃繕鏈変竴浜涢珮綰х敤娉曘?/p>

2 Sweep with Guide

鍦―Raw Test Harness涓緭鍏ュ懡浠etsweep鍙互鐪嬪埌鏈夋寚瀹氬紩瀵?綰縂uide鐨勯夐」錛?/p>

榪欎釜寮曞綰縂uide鏈変粈涔堢敤鍛紵涓嬮潰緇欏嚭涓涓ず渚嬶細

鍏朵腑Profile鏄壂鎺犳埅闈紝Spine涓烘壂鎺犺剨綰匡紝Guide涓烘壂鎺犲紩瀵肩嚎銆傛壂鎺犵粨鏋滃氨鏄竴涓灪鏃嬬殑閽誨ご妯″瀷銆傚湪Draw Test Harness鐨勪緥瀛愪腑錛岀粰鍑轟袱涓叧浜庡紩瀵肩嚎鎵帬鐨勭ず渚嬶紝涓や釜閽誨ご錛?/p>

鎶婅繖涓や釜渚嬪瓙鐞嗚В鍩烘湰鑳芥帉鎻℃壂鎺犵畻娉曠殑浣跨敤鏂規硶錛屼粠榪欎袱涓緥瀛愬彲浠ョ湅鍑猴紝OpenCASCADE鎵帬閫犲瀷鑳藉姏榪樹笉閿欍?/p>

3 Sweep on Face

鎵帬榪樻湁涓涓兘鍔涙槸浣挎壂鎺犳埅闈㈠瀭鐩翠簬涓涓敮鎾戦潰錛岃繖鏄竴涓湁鐢ㄧ殑閫夐」銆備笅闈㈣繕鏄湪Draw Test Harness涓祴璇曚竴涓嬶細

4 Conclusion

OpenCASCADE涓壂鎺犻犲瀷綆楁硶鍔熻兘榪樻瘮杈冨己澶э紝闄や簡鏀寔甯歌鐨勬壂鎺犲錛岃繕鏀寔甯﹀紩瀵肩嚎鐨勬壂鎺狅紝鍙婂甫寮曞綰跨殑澶氫釜鎴潰鐨勫彉褰㈡壂鎺狅紝榪樻敮鎸佹埅闈㈠緇堝瀭鐩翠簬鏀寔闈㈢殑鎵帬閫夐」銆傛壂鎺犵殑鍏抽敭鏄‘瀹氭埅闈㈢殑鍙樻崲瑙勫垯錛屽簳灞傜殑钂欑毊鎷熷悎綆楁硶榪樻槸姣旇緝紼沖畾鐨勩傛妸Draw Test Harness涓袱涓捇澶寸殑渚嬪瓙鐞嗚В鍚庯紝鍩烘湰涓婂簲璇ヨ兘澶熸帉鎻penCASCADE涓壂鎺犻犲瀷鐨勪嬌鐢ㄦ柟娉曘?/p>

 



eryar 2023-09-29 21:38 鍙戣〃璇勮
]]>
甯冨皵鏁版嵁 闈㈢殑鐩鎬氦http://m.shnenglu.com/eryar/archive/2023/09/29/occt_int_face.htmleryareryarFri, 29 Sep 2023 10:45:00 GMThttp://m.shnenglu.com/eryar/archive/2023/09/29/occt_int_face.htmlhttp://m.shnenglu.com/eryar/comments/230114.htmlhttp://m.shnenglu.com/eryar/archive/2023/09/29/occt_int_face.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230114.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230114.html甯冨皵鏁版嵁 闈㈢殑鐩鎬氦

eryar@163.com

1 Introduction

OpenCASCADE涓闈㈢殑鐩鎬氦瀹氫箟濡備笅鍥炬墍紺猴細

涓夌淮絀洪棿涓袱涓甫鏈塆eometry Surface鐨勯潰Face錛屽綋涓や釜Surface涔嬮棿鐨勮窛紱誨皬浜嶧ace涓殑瀹瑰樊Tolerance錛屽垯璁や負鏄浉浜ょ殑銆備竴鑸袱涓潰涔嬮棿鐩鎬氦寰楀埌鐨勬槸浜ょ嚎錛岃繕鏈変竴浜涙儏鍐靛緱鍒扮殑鏄氦鐐癸紝濡備笅鍥炬墍紺猴細

甯冨皵榪愮畻涓潰鐨勭浉浜ゆ槸鐩稿澶嶆潅鐨勯棶棰橈紝闄や簡鑰冭檻涓婅堪浜ょ嚎鍜屼氦鐐圭殑闂浠ュ錛岃繕瑕佽冭檻鏈夐噸鍙犵殑鎯呭喌錛涘浜庢柊鐢熸垚鐨勪氦綰匡紝榪樿鑰冭檻鐢熸垚PCurve錛涜嫢闈笂鏈夊紑瀛旓紝榪樿灝嗙┛榪囧紑瀛斿尯鍩熺殑浜ょ嚎鎺掗櫎絳夛紱鏈鍚庤鑰冭檻濡備綍淇濆瓨闈㈢浉浜ょ殑緇撴灉銆傜浉浜ょ殑璁$畻鍦ㄥ嚱鏁幫細

鏈緇堟槸璋冪敤IntTools_FaceFace鏉ヨ綆椾袱涓潰鐨勭浉浜ゃ傚茍灝嗚綆楃粨鏋滀氦綰垮拰浜ょ偣錛屾槸鍚﹂噸鍙犵瓑淇℃伅淇濆瓨鍒癇OPDS_InterfFF涓細

2 Face Info

綾籅OPDS_FaceInfo鐢ㄦ潵瀛樺偍浠ヤ笅淇℃伅錛?/p>

娉ㄦ剰PBo31鍜孭BSc1錛屼竴涓姸鎬佹槸On錛屼竴涓姸鎬佹槸Section銆傚湪鐩鎬氦澶勭悊綾籅OPAlgo_PaveFiller涓氳繃鍑芥暟BOPAlgo_PaveFiller::UpdateFaceInfo灝嗚繖浜涚浉浜ょ殑鐘舵佹洿鏂般?/p>

3 Tangent Face

浠庡墠闈㈢殑鏂囩珷鍏充簬媯嫻嬭竟涓庤竟銆佽竟涓庨潰鏄惁鏈夐噸鍙犳椂閲囩敤浜嗗浐瀹氶噰鏍風偣鏉ュ鐞嗙殑涓嶄弗璋ㄧ殑閫昏緫鏉ョ湅錛屽垽鏂嚎鐨勯噸鍙犳槸涓鏉傜殑闂錛屽垽鏂潰涓庨潰鐨勯噸鍙犲氨鐩稿鏇村鏉傘傛湰鏂囧厛浠庣畝鍗曞叆鎵嬶紝鍏堢湅瀵逛簬鏈綆鍗曠殑涓や釜騫抽潰閲嶅彔鐨勬嫻嬶紝寮曞嚭澶у瀵逛簬浠繪剰涓や釜闈㈤噸鍙犲尯鍩熸嫻嬬殑鎬濊冦傚榪欑鐗規畩鐨勬儏鍐靛鐞嗗湪IntTools_FaceFace涓殑鍑芥暟PerformPlanes()涓疄鐜般傚叾涓嬌鐢ㄤ簩嬈℃洸闈㈢殑鍑犱綍姹備氦娉曡繘琛屽鐞嗭紝婧愮爜濡備笅錛?/p>

閫氳繃婧愮爜鍙互鐪嬪嚭錛岃嫢涓や釜騫抽潰涔嬮棿鐨勬硶鍚戝す瑙掑皬浜嶵olAng鍙婅窛紱誨皬浜嶵ol鏃訛紝鍒欒涓轟袱涓潰鏄竴鏍風殑IntAna_Same錛涘綋璺濈澶т簬Tol鏃訛紝鍒欒涓烘病鏈夌浉浜ntAna_Empty銆?/p>

瀵逛簬閲嶅彔鐨勫鉤闈紝灝唗heTangentFaces璁劇疆鎴恡rue琛ㄧず鏄噸鍙犵殑銆傝繖閲岀暀涓嬩竴涓棶棰樺ぇ瀹舵濊冿細濡備綍鍒ゆ柇鑷敱鏇查潰鐨勯噸鍙犳儏鍐碉紵

4 Hole

褰撻潰涓婃湁瀛旀礊鏃訛紝榪樿瀵逛氦綰胯繘琛屽鐞嗭紝浠ユ帓闄ゆ帀瀛旀礊涓殑浜ょ嚎銆傚綋浣跨敤IntTools_FaceFace鏉ヨ綆椾袱涓潰鐨勪氦綰挎椂錛屽彲浠ョ湅鍒頒氦綰跨殑鑼冨洿涓嶆紜紝娌℃湁澶勭悊瀛旀礊鎯呭喌錛岀敋鑷充篃娌℃湁澶勭悊闈㈢殑杈圭晫銆傚涓嬪浘鎵紺虹孩鑹茬殑浜ょ嚎涓轟嬌鐢↖ntTools_FaceFace璁$畻寰楀埌鐨勶細

褰撲嬌鐢˙OPAlgo_PaveFiller璁$畻浜ょ嚎騫剁粨鍚圥aveBlock寰楀埌浜ょ嚎鏄劇ず濡備笅鍥炬墍紺猴細

铏界劧璁$畻涓や釜闈箣闂寸殑鐩鎬氦澶勭悊鏈緇堟槸璋冪敤鐨処ntTools_FaceFace錛屼絾鏄寰楀埌姝g‘鐨勪氦綰塊渶瑕佷嬌鐢ㄧ被BOPAlgo_PaveFiller銆傝繖閲屼篃鐣欎笅闂渚涘ぇ瀹舵濊冿細涓轟粈涔圛ntTools_FaceFace璁$畻鐨勪氦綰胯寖鍥翠笉姝g‘錛熶負浠涔圔OPAlgo_PaveFiller璁$畻鐨勪氦綰挎紜紵

5 Conclusion

緇間笂鎵榪幫紝甯冨皵鏁版嵁涓潰鐨勭浉浜ょ殑緇撴灉鍙兘鏈変氦綰匡紝涔熷彲鑳芥湁浜ょ偣銆傚皢姹備氦緇撴灉淇濆瓨鍒癋aceInfo涓備粠綆鍗曠殑涓や釜騫抽潰閲嶅彔鏉ョ湅錛屽皢閲嶅彔鐨勭姸鎬佺敤鍙橀噺theTangetFaces鏉ヤ繚瀛樸傞偅浠繪剰涓や釜鏇查潰閲嶅彔濡備綍鍒ゆ柇鍛紵闈㈢殑鐩鎬氦铏界劧鎻愪緵綾籌ntTools_FaceFace鏉ヨ綆楋紝浣嗘槸娌℃湁姝g‘澶勭悊浜ょ嚎鐨勮寖鍥達紝涓轟粈涔圔OPAlgo_PaveFiller涓彲浠ユ紜鐞嗕氦綰垮憿錛?/p>

 

紲濆ぇ瀹朵腑縐嬪浗搴嗚妭鏃ュ揩涔愶紒

 



eryar 2023-09-29 18:45 鍙戣〃璇勮
]]>
甯冨皵鏁版嵁 杈圭殑鐩鎬氦http://m.shnenglu.com/eryar/archive/2023/09/27/occt_edge_int.htmleryareryarWed, 27 Sep 2023 13:52:00 GMThttp://m.shnenglu.com/eryar/archive/2023/09/27/occt_edge_int.htmlhttp://m.shnenglu.com/eryar/comments/230108.htmlhttp://m.shnenglu.com/eryar/archive/2023/09/27/occt_edge_int.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230108.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230108.html甯冨皵鏁版嵁 杈圭殑鐩鎬氦

eryar@163.com

1 Introduction

鍦∣penCASCADE涓浜庤竟鐨勭浉浜ゅ垎涓轟笁綾伙細杈逛笌鐐癸紝杈逛笌杈癸紝杈逛笌闈紝杈逛笌鐐圭殑鐩鎬氦宸茬粡褰掔粨涓虹偣涓庤竟鐨勭浉浜ゅ鐞嗕簡錛岃竟鐨勭浉浜や富瑕佸鐞嗚竟涓庤竟錛岃竟涓庨潰鐨勭浉浜ゃ傝竟涓庤竟銆佽竟涓庨潰鐨勭浉浜や細寮曞叆涓涓柊鐨勬暟鎹粨鏋?鍏叡閮ㄥ垎Common Part錛岀敤浜庝繚瀛橀噸鍙犵殑鍏叡閮ㄥ垎鏁版嵁銆?/p>

2 Edge/Edge Interferences

瀵逛簬涓ゆ潯杈圭殑鐩鎬氦鏄寚鍦ㄤ袱鏉¤竟鐨勬煇浜涘湴鏂圭殑璺濈灝忎簬杈圭殑瀹瑰樊涔嬪拰錛屼富瑕佸垎涓轟袱縐嶆儏鍐碉紝涓縐嶆槸涓ゆ潯杈瑰彧鏈変竴涓氦鐐圭殑鎯呭喌錛涗竴縐嶆槸鏈夐噸鍙犻儴鍒嗙殑鎯呭喌錛涘厛鐪嬪彧鏈変竴涓氦鐐規儏鍐碉細

鎴戜滑鍦―RAW涓氳繃鑴氭湰鏋勯犳渶綆鍗曠殑鎯呭喌鏉ユ祴璇曘?/p>

鍦ㄥ鐞嗚竟涓庤竟鐩鎬氦鐨勫嚱鏁癇OPAlgo_PaveFiller::PerformEE()涓紝瀵規瘡涓ゆ潯杈硅皟鐢˙OPAlgo_EdgeEdge榪涜姹備氦銆備粠榪欓噷鍙互鐪嬪埌Pave Block鐨勪嬌鐢紝鐩稿綋浜庡姣忎袱鏉¤竟涓婄殑姣忓Pave Block閮ㄥ垎榪涜姹備氦銆傝繖閲屾湁涓浜涗紭鍖栫┖闂達紝鐩墠鏄嬌鐢ㄧ殑涓や釜寰幆澶勭悊錛屽彲浠ュ皾璇曚嬌鐢˙VH鏉ユ彁鍗囦竴浜涙ц兘銆傚綋姣忓Pave Block瀵瑰簲鐨勭偣鐨勭儲寮曞彿涓鑷存椂錛屽嵆姣忓Pave Block鐨勭鐐歸噸鍙犳椂錛屼嬌鐢ㄥ揩閫熻綆楃殑綆楁硶鏉ュ垽鏂槸鍚︽湁閲嶅彔銆?/p>

瀵逛簬杈圭殑姹備氦緇撴灉淇濆瓨鍒癇OPDS_InterfEE涓紝閮戒細淇濆瓨鏄摢涓ゆ潯杈圭浉浜ゅ強鐩鎬氦鐨勫叕鍏遍儴鍒嗐傚浜庣浉浜や簬涓鐐圭殑鍏叡閮ㄥ垎鐨勭被鍨嬩負TopAbs_VERTEX錛屽浜庢湁閲嶅彔閮ㄥ垎鐨勫叕鍏遍儴鍒嗙被鍨嬩負TopAbs_EDGE錛?/p>

褰撲袱杈規潯鏈夐噸鍙犻儴鍒嗘椂錛屽涓嬪浘鎵紺猴細

濡備綍媯嫻嬩袱鏉¤竟鐨勫叕鍏遍儴鍒嗗憿錛熷湪鍑芥暟IntTools_EdgeEdge::IsCoincident()涓疄鐜幫細

//=======================================================================
//function :  IsCoincident
//purpose  : 
//=======================================================================
Standard_Boolean IntTools_EdgeEdge::IsCoincident() 
{
  Standard_Integer i, iCnt, aNbSeg, aNbP2;
  Standard_Real dT, aT1, aCoeff, aTresh, aD;
  Standard_Real aT11, aT12, aT21, aT22;
  GeomAPI_ProjectPointOnCurve aProjPC;
  gp_Pnt aP1;
  //
  aTresh=0.5;
  aNbSeg=23;
  myRange1.Range(aT11, aT12);
  myRange2.Range(aT21, aT22);
  //
  aProjPC.Init(myGeom2, aT21, aT22);
  //
  dT=(aT12-aT11)/aNbSeg;
  //
  iCnt=0;
  for(i=0; i <= aNbSeg; ++i) {
    aT1 = aT11+i*dT;
    myGeom1->D0(aT1, aP1);
    //
    aProjPC.Perform(aP1);
    aNbP2=aProjPC.NbPoints();
    if (!aNbP2) {
      continue;
    }
    //
    aD=aProjPC.LowerDistance();
    if(aD < myTol) {
      ++iCnt; 
    }
  }
  //
  aCoeff=(Standard_Real)iCnt/((Standard_Real)aNbSeg+1);
  return aCoeff > aTresh;
}

浠庝笂榪頒唬鐮佸彲浠ョ湅鍑猴紝瀵逛簬閲嶅彔閮ㄥ垎鐨勬嫻嬫槸灝嗕竴鏉¤竟鏍規嵁媯嫻嬭寖鍥村垎鎴?3孌甸噰鏍風偣錛岃綆楁瘡涓偣鍒板彟涓鏉¤竟鐨勮窛紱伙紝婊¤凍鏉′歡鐨勯噰鏍風偣鐨勬暟閲忚秴榪?2涓紝鍩烘湰璁や負鏄噸鍙犵殑銆備粠榪欓噷鍙互鐪嬪嚭榪欐牱媯嫻嬮噸鍙犵◢寰湁鐐逛笉涓ヨ皚銆傚浐瀹氶噰鏍風偣鏁伴噺瀵逛簬灝忔鏇茬嚎鏉ヨ鏁伴噺榪囧ぇ錛屽浜庡緢闀跨殑鏇茬嚎鏉ヨ鏁伴噺鍙堝亸灝忥紝榪欓噷鏈夊緟鎻愰珮銆傚鏋滈噸鍙狅紝鍒欏皢鍏叡閮ㄥ垎鐨勬暟鎹繚瀛樿搗鏉ワ細

瀵逛簬嫻嬭瘯鐨凾CL鑴氭湰涓嶄細璧拌繖涓氱敤鐨勫垽鏂祦紼嬶紝浼氱洿鎺ユ湁IntTools_EdgeEdge::ComputeLineLine()鍑芥暟鏉ュ鐞嗚繖縐嶇壒孌婃儏鍐碉細

浠庝繚瀛樼殑鏁版嵁鍙互鐪嬪嚭錛屽叕鍏遍儴鍒嗙殑鐩鎬氦綾誨瀷涓篢opAbs_VERTEX錛屽強浜ょ偣鍒嗗埆鍦ㄤ袱鏉¤竟涓婄殑鍙傛暟銆傚叧浜庢湁閲嶅彔閮ㄥ垎鐨勪袱鏉¤竟鐩鎬氦錛屽悓瀛︿滑鍙互鑷浣跨敤DRAW鑴氭湰鏉ユ祴璇曚竴涓嬨?/p>

3 Edge/Face Interferences

杈逛笌闈㈢殑鐩鎬氦浼氶亣鍒板拰杈逛笌杈圭浉浜ょ被浼肩殑鎯呭喌錛屽嵆浼氭湁閲嶅彔閮ㄥ垎Common Part銆備篃鍒嗕負涓ょ鎯呭喌錛屼竴縐嶆儏鍐墊槸杈逛笌闈㈠彧鏈変竴涓氦鐐圭殑鎯呭喌錛屼氦鐐瑰彲鑳戒細鏈夊涓紱涓縐嶆儏鍐墊槸鏈夐噸鍙犻儴鍒嗙殑鎯呭喌銆?/p>

鎴戜滑鍙互鍦ㄤ嬌鐢ㄨ剼鏈潵嫻嬭瘯涓涓嬮噸鍙犵殑鎯呭喌錛?/p>

浠庝唬鐮佷腑鍙互鐪嬪嚭褰撹竟鐨勭鐐瑰湪闈笂鏃訛紝鍒欎細鍒ゆ柇杈逛笌闈細涓嶄細閲嶅彔Coincidence銆傚垽鏂昏緫涓庡垽鏂竟鏄惁閲嶅彔綾諱技錛岄兘鏄嬌鐢ㄥ浐瀹?3涓噰鏍風偣鐨勬柟寮忓鐞嗭紝騫跺姞涓婂畾浣嶅櫒鏉ュ垽鏂偣鏄惁鍦ㄩ潰涓婏紝鍥犱負闈笂鍙兘浼氭湁瀛旀礊錛?/p>

//=======================================================================
//function :  IsCoincident
//purpose  : 
//=======================================================================
Standard_Boolean IntTools_EdgeFace::IsCoincident() 
{
  Standard_Integer i, iCnt;
  Standard_Real dT, aT, aD, aT1, aT2, aU, aV;
  gp_Pnt aP;
  TopAbs_State aState;
  gp_Pnt2d aP2d;
  //
  GeomAPI_ProjectPointOnSurf& aProjector=myContext->ProjPS(myFace);
  Standard_Integer aNbSeg=23;
  if (myC.GetType() == GeomAbs_Line &&
      myS.GetType() == GeomAbs_Plane)
    aNbSeg = 2; // Check only three points for Line/Plane intersection
  const Standard_Real aTresh = 0.5;
  const Standard_Integer aTreshIdxF = RealToInt((aNbSeg+1)*0.25),
                         aTreshIdxL = RealToInt((aNbSeg+1)*0.75);
  const Handle(Geom_Surface) aSurf = BRep_Tool::Surface(myFace);
  aT1=myRange.First();
  aT2=myRange.Last();
  Standard_Real aBndShift = 0.01 * (aT2 - aT1);
  //Shifting first and last curve points in order to avoid projection
  //on surface boundary and rejection projection point with minimal distance
  aT1 += aBndShift;
  aT2 -= aBndShift;
  dT=(aT2-aT1)/aNbSeg;
  //
  Standard_Boolean isClassified = Standard_False;
  iCnt=0;
  for(i=0; i <= aNbSeg; ++i) {
    aT = aT1+i*dT;
    aP=myC.Value(aT);
    //
    aProjector.Perform(aP);
    if (!aProjector.IsDone()) {
      continue;
    }
    //
    aD=aProjector.LowerDistance();
    if (aD > myCriteria) {
      if (aD > 100. * myCriteria)
        return Standard_False;
      else
        continue;
    }
    //
    ++iCnt; 
    //We classify only three points: in the begin, in the 
    //end and in the middle of the edge.
    //However, exact middle point (when i == (aNbSeg + 1)/2)
    //can be unprojectable. Therefore, it will not be able to
    //be classified. Therefore, points with indexes in 
    //[aTreshIdxF, aTreshIdxL] range are made available 
    //for classification.
    //isClassified == TRUE if MIDDLE point has been chosen and
    //classified correctly.
    if(((0 < i) && (i < aTreshIdxF)) || ((aTreshIdxL < i ) && (i < aNbSeg)))
      continue;
    if(isClassified && (i != aNbSeg))
      continue;
    aProjector.LowerDistanceParameters(aU, aV);
    aP2d.SetX(aU);
    aP2d.SetY(aV);
    IntTools_FClass2d& aClass2d=myContext->FClass2d(myFace);
    aState = aClass2d.Perform(aP2d);
    if(aState == TopAbs_OUT)
      return Standard_False;
    if(i != 0)
      isClassified = Standard_True;
  }
  //
  const Standard_Real aCoeff=(Standard_Real)iCnt/((Standard_Real)aNbSeg+1);
  return (aCoeff > aTresh);
}

姹備氦緇撴灉涓庤竟涓庤竟鐩鎬氦綾誨瀷錛屼細淇濆瓨杈逛笌闈㈢殑绱㈠紩錛屽強鍏叡閮ㄥ垎鐨勬暟鎹傞櫎浜嗕繚瀛樿繖浜涙暟鎹互澶栵紝榪樺拰鐐逛笌闈㈢浉浜や竴鏍鳳紝鏇存柊闈笂鐨勪俊鎭疐aceInfo錛屽嵆鏈夊摢浜涜竟鍦ㄩ潰涓娿?/p>

4 Conclusion

緇間笂鎵榪幫紝杈逛笌杈廣佽竟涓庨潰鐩鎬氦浼氬緱鍒板叕鍏遍儴鍒咰ommon Part錛屽叕鍏遍儴鍒嗗彲鑳芥槸鐐癸紝涔熷彲鑳芥槸閲嶅彔鐨勮竟銆傚湪榪囨護鐩鎬氦鐨勮竟涓庤竟銆佽竟涓庨潰鏃墮兘鏈変竴瀹氱殑浼樺寲絀洪棿錛屽嵆浣跨敤BVH鏉ュ姞閫熸嫻嬬浉浜ら儴鍒嗐傚湪蹇熷垽鏂竟涓庤竟鏄惁閲嶅彔銆佽竟涓庨潰鏄惁閲嶅彔閮ㄥ垎鐨勪唬鐮侀噰鐢ㄥ浐瀹氭暟閲忕殑閲囨牱鐐圭殑澶勭悊鏂瑰紡涓嶅お涓ヨ皚銆傚皢鐩鎬氦鐨勭粨鏋滃強榪囩▼鏁版嵁閮戒繚瀛樺埌BOPDS_DS涓綔涓哄悗闈㈢畻娉曚嬌鐢ㄣ?/p>

eryar 2023-09-27 21:52 鍙戣〃璇勮
]]>
[寮婧怾-OpenCASCADE-IMGUIhttp://m.shnenglu.com/eryar/archive/2023/09/24/occt_imgui_glfw.htmleryareryarSun, 24 Sep 2023 11:33:00 GMThttp://m.shnenglu.com/eryar/archive/2023/09/24/occt_imgui_glfw.htmlhttp://m.shnenglu.com/eryar/comments/230102.htmlhttp://m.shnenglu.com/eryar/archive/2023/09/24/occt_imgui_glfw.html#Feedback0http://m.shnenglu.com/eryar/comments/commentRss/230102.htmlhttp://m.shnenglu.com/eryar/services/trackbacks/230102.html[寮婧怾-OpenCASCADE-IMGUI

1 IMGUI

ImGui 鏄竴涓敤浜嶤++鐨勭敤鎴風晫闈㈠簱錛岃法騫沖彴銆佹棤渚濊禆錛屾敮鎸丱penGL銆丏irectX絳夊縐嶆覆鏌揂PI錛屾槸涓縐嶅嵆鏃禪I錛圛mmediate Mode User Interface錛夊簱錛屼繚鐣欐ā寮忎笌鍗蟲椂妯″紡鐨勫尯鍒弬鑰?a target="_blank" rel="noopener">淇濈暀妯″紡涓庡嵆鏃舵ā寮?/strong>銆侷mGui娓叉煋闈炲父蹇紝浣嗙晫闈笂鏈夊ぇ閲忕殑鏁版嵁闆嗛渶瑕佹覆鏌撳彲鑳戒細鏈変竴浜涢棶棰橈紝闇瑕佷嬌鐢ㄤ竴浜涚紦瀛樻妧宸с傜紦瀛樺彧鏄伩鍏嶆暟鎹殑鏇存柊閫昏緫鑰楁椂澶箙褰卞搷娓叉煋錛屽疄闄呮覆鏌撹繃紼嬩笉瀛樺湪鐡墮銆?/p>

IMGUI寰堣交閲忥紝榪樻敮鎸佽法騫沖彴錛屽浜庡皬鐨勬祴璇曠▼搴廔MGUI鏄悊鎯崇殑GUI銆?/p>

2 OcctImgui

鍩轟簬opencascade鐨刧lfw sample鍔犲叆IMGUI錛岃繖鏍峰氨鍙互寮鍙戜竴浜涘甫鏈塆UI鐨勭▼搴忋傝繖浜涚▼搴忓皬宸т笖鑳芥柟渚胯法騫沖彴錛岀湅涓婂幓鏁堟灉涔熶笉閿欍?/p>

鐜板湪灝哋cctImgui寮婧愶紝寮婧愬湴鍧錛歨ttps://github.com/eryar/OcctImgui

浣跨敤Premake鏉ョ敓鎴愯В鍐蟲柟妗堬紝鍙渶瑕佸皢premake5.lua涓殑鐩稿叧絎笁鏂瑰簱鐨勮礬寰勪慨鏀逛竴涓嬶紝鍗沖彲浠ョ洿鎺ョ紪璇戣繍琛屻?/p>

3 Next

鐩墠occt鐨勮鍥句綔涓烘暣涓儗鏅紝涓嬩竴姝ュ彲浠ュ仛鎴愬儚CADRays涓偅鏍鳳紝灝唎cct鐨勮鍥句綔涓鴻鍥劇殑涓閮ㄥ垎錛岃繖鏍峰氨鍙互浣跨敤IMGUI鐨凞ocking鍔熻兘銆?/p>

浣跨敤IMGUI涔熷彲浠ュ紑鍙戝嚭寰圕ool鐨勭晫闈紝鏈鍚庢斁涓や釜鍩轟簬IMGUI寮鍙戠殑鍥懼艦鐣岄潰錛?/p>

https://github.com/adriengivry/Overload

https://github.com/sasobadovinac/CADRays

https://github.com/MeshInspector/MeshLib



eryar 2023-09-24 19:33 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久久网站| 欧美一区二区三区精品| 久久久一区二区三区| 久久亚洲国产精品一区二区 | 久久视频在线视频| 欧美精品乱码久久久久久按摩| 久久久精品国产一区二区三区| 亚洲天堂男人| 午夜亚洲福利在线老司机| 欧美亚洲一级| 久久影院亚洲| 欧美日韩在线视频一区二区| 国产精品理论片| 国产午夜精品视频免费不卡69堂| 国产九九精品视频| 亚洲第一黄色| 亚洲一区二区三区色| 亚洲欧美久久久| 久久久久成人精品| 亚洲福利视频网站| 亚洲精品麻豆| 欧美一区二区三区四区在线观看 | 欧美一级理论片| 久久伊人精品天天| 欧美区在线观看| 国产亚洲福利| 亚洲精品欧美日韩| 欧美一区二区性| 欧美大片专区| 亚洲在线中文字幕| 能在线观看的日韩av| 国产精品一二三视频| 亚洲国产婷婷| 久久gogo国模裸体人体| 欧美电影在线免费观看网站| 亚洲免费高清| 另类专区欧美制服同性| 欧美日韩精品欧美日韩精品| 国产日韩专区| 亚洲午夜精品视频| 欧美激情精品久久久久| 午夜欧美大尺度福利影院在线看| 欧美成人免费va影院高清| 国产欧美在线| 亚洲午夜视频在线观看| 麻豆国产va免费精品高清在线| 一本在线高清不卡dvd| 久久精品人人做人人爽电影蜜月| 性欧美video另类hd性玩具| 欧美电影在线观看| 亚洲一区在线直播| 99国产精品国产精品毛片| 久久国内精品自在自线400部| 欧美日本一道本| 亚洲日本激情| 亚洲国产欧美日韩另类综合| 久久久精品欧美丰满| 国产欧美精品在线播放| 一区电影在线观看| 亚洲激情网站免费观看| 美玉足脚交一区二区三区图片| 狠狠入ady亚洲精品| 久久久美女艺术照精彩视频福利播放| 亚洲一区不卡| 国产欧美一区二区色老头| 欧美主播一区二区三区美女 久久精品人 | 9l国产精品久久久久麻豆| 亚洲国产成人久久综合| 久久综合网络一区二区| 亚洲高清成人| 亚洲精品1234| 国产精品vvv| 亚洲欧美久久久久一区二区三区| 日韩一二三区视频| 国产精品成人一区二区网站软件 | 美女日韩欧美| 午夜精品一区二区三区在线| 国产午夜亚洲精品理论片色戒| 亚洲视频在线观看视频| 亚洲精品偷拍| 欧美日韩在线一区二区三区| 日韩午夜免费| 亚洲国产高清高潮精品美女| 亚洲第一精品在线| 欧美高清视频一区二区三区在线观看| 激情欧美日韩一区| 蜜桃久久av一区| 久久综合久久综合久久综合| 极品尤物久久久av免费看| 一区二区三区欧美在线观看| 亚洲综合不卡| 国产三区精品| 欧美激情一区二区三区| 欧美大片第1页| 一区二区av在线| 亚洲一区二区在线播放| 欧美精品乱码久久久久久按摩| 亚洲欧美日韩人成在线播放| 亚洲综合色网站| 永久555www成人免费| 久久久久久穴| 久久久久国产成人精品亚洲午夜| 在线不卡免费欧美| 亚洲国产女人aaa毛片在线| 亚洲国产精品悠悠久久琪琪| av成人天堂| 欧美jjzz| 久久久久综合网| 欧美华人在线视频| 欧美aⅴ一区二区三区视频| 亚洲国产欧美在线| 欧美主播一区二区三区| 久久成年人视频| 99热免费精品在线观看| 国产精品成人午夜| 久久精品国产精品亚洲综合| 亚洲精品资源美女情侣酒店| 久久久久在线| 亚洲第一毛片| 欧美在线亚洲在线| 亚洲色无码播放| 亚洲精品欧美在线| 久久国产精品高清| 亚洲欧美在线一区二区| 欧美制服丝袜| 欧美18av| 亚洲欧美日韩国产中文 | 另类综合日韩欧美亚洲| 欧美午夜精品| 最新日韩在线视频| 性感少妇一区| 在线观看视频一区| 国产精品视频最多的网站| 久久久成人网| 亚洲精品美女久久7777777| 亚洲特级片在线| 久热综合在线亚洲精品| 欧美日韩在线免费视频| 校园激情久久| 欧美日本簧片| 欧美大片免费观看在线观看网站推荐 | 午夜国产精品视频免费体验区| 欧美黄色一区| 午夜视频一区| 欧美刺激性大交免费视频| 久久精品国产综合| 亚洲精品国产精品国自产观看浪潮| 国产三区精品| 亚洲欧美日本伦理| 亚洲综合色在线| 欧美精品18+| 欧美国产视频在线| 激情综合在线| 欧美中文在线观看国产| 欧美一区二区三区播放老司机| 欧美激情一区二区三区高清视频| 久久亚洲色图| 国内精品免费在线观看| 欧美一区二区视频97| 欧美一区二区日韩一区二区| 国产精品户外野外| 一本一道久久综合狠狠老精东影业| 亚洲福利视频网| 在线一区视频| 美女91精品| 亚洲福利视频二区| 毛片基地黄久久久久久天堂| 欧美福利视频在线观看| 亚洲人成毛片在线播放| 欧美黄色aaaa| 久久亚洲精品一区| 一本色道久久综合亚洲精品高清| 欧美激情网友自拍| 99视频一区二区| 欧美一区激情| 在线看欧美日韩| 欧美肥婆bbw| 欧美mv日韩mv国产网站app| 亚洲视屏在线播放| 国产伦精品一区二区三区四区免费| 亚洲欧美成人| 久久综合九色综合网站| 亚洲激情图片小说视频| 欧美日韩国产片| 亚洲人久久久| 久久婷婷丁香| 亚洲精品资源美女情侣酒店| 欧美日韩第一区日日骚| 在线视频欧美精品| 久久九九精品99国产精品| 在线观看免费视频综合| 久久国内精品视频| 亚洲综合视频一区| 欧美国产综合一区二区| 中国成人在线视频| 黄色小说综合网站| 欧美日韩精品免费在线观看视频| 亚洲人成在线观看| 亚洲高清自拍| 久久精品卡一|