锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产综合亚洲精品一区二,久久琪琪电影院,亚洲永久免费观看http://www.shnenglu.com/eryar/category/20246.htmlPipeCAD - Plant Piping Design Software. <br> RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.zh-cnSun, 18 Jun 2023 10:38:22 GMTSun, 18 Jun 2023 10:38:22 GMT60Licensecc-C++ License Managerhttp://www.shnenglu.com/eryar/archive/2023/06/18/licensecc.htmleryareryarSun, 18 Jun 2023 05:01:00 GMThttp://www.shnenglu.com/eryar/archive/2023/06/18/licensecc.htmlhttp://www.shnenglu.com/eryar/comments/229933.htmlhttp://www.shnenglu.com/eryar/archive/2023/06/18/licensecc.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/229933.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/229933.htmlLicensecc-C++ License Manager

eryar@163.com

 

Licensecc: a C++ software license manager銆備嬌鐢↙icensecc鍙互緇欏紑鍙戠殑杞歡鍔犱笂淇濇姢錛岄檺鍒惰蔣浠剁殑浣跨敤銆傞氳繃鎺堟潈鎺у埗鏉ラ檺鍒惰蔣浠剁殑浣跨敤錛屼篃鍙互闄愬埗杞歡鐨勪嬌鐢ㄦ椂闂達紝鍙婇檺鍒惰蔣浠跺湪鎸囧畾鏈哄櫒涓婅繍琛屻侺icensecc鏄熀浜嶣SD鍗忚寮婧愮殑杞歡鎺堟潈緋葷粺鐢ㄦ潵甯姪浣犵殑杞歡闂簮銆侺icensecc浣跨敤C++ 11寮鍙戯紝鏀寔璺ㄥ鉤鍙頒嬌鐢ㄣ?/p>

 

Licensecc涓昏鍔熻兘鍒楄〃錛?/p>

Issue a “demo” license with only expiry date.

鏀寔璇曠敤璁稿彲鍔熻兘錛氫笉緇戝畾鍏蜂綋鐨勬満鍣紝浣嗘槸闄愬埗浣跨敤鏃墮棿鎴栬呭叾浠栭檺鍒躲?/p>

Licenses linked to “physical” hardware id

緇戝畾鏈哄櫒鐨勮鍙姛鑳斤細璁╄蔣浠剁粦瀹氭満鍣ㄧ‖浠訛紝鍙兘鍦ㄦ巿鏉冪殑鏈哄櫒涓婅繍琛屻?/p>

鏃墮棿闄愬埗

 

紜洏ID闄愬埗

 

IP鍦板潃闄愬埗

 

CPU闄愬埗

 

瀵逛簬涓浜涘皬鐨勮蔣浠訛紝鍙互浣跨敤licensecc鏉ュ姞涓妉icense瀵硅蔣浠惰繘琛屼繚鎶ゃ?/p>

 



eryar 2023-06-18 13:01 鍙戣〃璇勮
]]>
PmuReviewer Previewhttp://www.shnenglu.com/eryar/archive/2021/04/06/PmuReviewer_Preview.htmleryareryarTue, 06 Apr 2021 15:21:00 GMThttp://www.shnenglu.com/eryar/archive/2021/04/06/PmuReviewer_Preview.htmlhttp://www.shnenglu.com/eryar/comments/217655.htmlhttp://www.shnenglu.com/eryar/archive/2021/04/06/PmuReviewer_Preview.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/217655.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/217655.htmlPmuReviewer Preview

eryar@163.com

 

Intergraph楣板浘鍏徃鐨凷martPlant3D鍙互瀵煎嚭VUE鏂囦歡鐢ㄤ簬妯″瀷瀹℃煡Reivew錛屽拰AVEVA鍏徃鐨凱DMS鍙互瀵煎嚭RVM鏂囦歡涓鏍楓傝繖浜涙枃浠朵腑鍖呭惈浜嗘ā鍨嬬殑鍑犱綍淇℃伅鍙婇儴鍒嗗睘鎬т俊鎭紝鏂逛究妯″瀷瀹℃煡錛屾彁楂樿璁℃晥鐜囥傚湪鏁板瓧鍖栧伐鍘傘佹櫤鑳藉伐鍘傘佹暟瀛楀寲浜や粯鐨勮秼鍔夸笅錛岄氳繃瑙f瀽榪欎簺鏁版嵁鏂囦歡錛岃幏鍙栧叾涓殑妯″瀷淇℃伅錛岃兘涓烘暟瀛楀寲浜や粯騫沖彴鎻愪緵鏁版嵁鍩虹銆?/p>

AVEVA鍏徃鐨凱DMS瀵煎嚭鐨凴VM鏂囦歡錛屽叾緇撴瀯綆鍗曪紝瑙f瀽鐩稿瀹規槗銆傛棭鍦ㄥ嚑騫翠箣鍓嶏紝宸茬粡瀹炵幇RVM鏂囦歡鏁版嵁鐨勫畬鍏ㄨВ鏋愶紝騫跺疄鐜頒駭鍝丷vmTranslator銆?/p>

 

涓婂浘鎵紺轟負鑸硅埗Marine妯″潡瀵煎嚭鐨勮埞鑸惰璁℃ā鍨嬨?/p>

 

涓婂浘鎵紺轟負宸ュ巶Plant妯″潡瀵煎嚭鐨勫伐鍘傝璁℃ā鍨嬨?/p>

Intergraph鍏徃鐨刅UE鏂囦歡鐩稿澶嶆潅錛屽彲浠ユ祻瑙圴UE鏂囦歡鐨勮蔣浠訛紝闄や簡鑷浜у搧Intergraph Reivew鍜孖ntergraph FreeView絳変箣澶栵紝榪樻湁Autodesk鍏徃鐨凬avisworks Manage鏈夊鍏UE鐨勬彃浠躲傚鏋滆兘鐩存帴鏀寔瀵筕UE鏂囦歡鐨勮В鏋愶紝瀵瑰畬鍠勬暟瀛楀寲浜や粯浜у搧綰挎湁閲嶈鎰忎箟錛屽嵆鑳藉悓鏃舵敮鎸佸浗闄呬袱涓富嫻佸伐紼嬭璁¤蔣浠剁殑鏁版嵁銆備負浜嗗湪鏁板瓧鍖栦氦浠樸佹暟瀛楀寲宸ュ巶涓礎鐚垜浠殑鍔涢噺錛屾垜浠紑濮嬩簡瀵筕UE鏂囦歡鐨勮В鏋愬伐浣滐紝騫跺彇寰椾簡閲嶅ぇ榪涘睍銆傜幇灝咥VEVA鐨凴VM妯″瀷鏂囦歡嫻忚鍜孖ntergraph鐨刅UE鏂囦歡嫻忚闆嗘垚涓涓笁緇寸幆澧冿紝鍛藉悕涓篜muReviewer錛屽嵆宸ュ巶妯″瀷瀹℃煡紼嬪簭銆傜幇鍦ㄧ▼搴忓凡緇忚兘澶勭悊澶ч儴鍒嗘ā鍨嬪強妯″瀷棰滆壊淇℃伅銆?nbsp;

涓婂浘鎵紺轟負Intergraph FreeView涓樉紺虹殑VUE妯″瀷銆?nbsp;

 

涓婂浘鎵紺轟負PmuReviewer涓樉紺虹殑妯″瀷錛屾湁璁懼銆佺閬撱佺閬撶剨緙濄侀榾闂ㄣ佺粨鏋勩佹瀛愭ā鍨嬬瓑銆?/p>

紼嬪簭閲囩敤Ribbon椋庢牸鐣岄潰錛屾殏鏃跺彧鏀寔RVM鍜孷UE鐨勬祻瑙堬紝鍚庣畫浼氬姞鍏ュ叾浠栧姛鑳斤紝濡傚昂瀵告祴閲忥紝妯″瀷鍓栧垏絳夈?/p>

 


涓轟簡鏂逛究澶у鍦ㄧЩ鍔ㄧ涔熻兘鐪嬪埌鎴戠殑鍗氭枃鍜岃璁轟氦嫻侊紝鐜板凡娉ㄥ唽寰俊鍏紬鍙鳳紝嬈㈣繋澶у鎵弿涓嬫柟浜岀淮鐮佸叧娉ㄣ?/h5> Shing Liu(eryar@163.com)


eryar 2021-04-06 23:21 鍙戣〃璇勮
]]>Qt Python Scriptable Application http://www.shnenglu.com/eryar/archive/2020/02/24/QtScriptableApplication.htmleryareryarMon, 24 Feb 2020 06:56:00 GMThttp://www.shnenglu.com/eryar/archive/2020/02/24/QtScriptableApplication.htmlhttp://www.shnenglu.com/eryar/comments/217155.htmlhttp://www.shnenglu.com/eryar/archive/2020/02/24/QtScriptableApplication.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/217155.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/217155.html
Key Words. Qt, Python, Shiboken2, PySide2  闃呰鍏ㄦ枃

eryar 2020-02-24 14:56 鍙戣〃璇勮
]]>
Installing Node.js and Express on Ubuntuhttp://www.shnenglu.com/eryar/archive/2019/07/08/Ubuntu_Nodejs.htmleryareryarMon, 08 Jul 2019 04:10:00 GMThttp://www.shnenglu.com/eryar/archive/2019/07/08/Ubuntu_Nodejs.htmlhttp://www.shnenglu.com/eryar/comments/216511.htmlhttp://www.shnenglu.com/eryar/archive/2019/07/08/Ubuntu_Nodejs.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/216511.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/216511.htmlInstalling Node.js and Express on Ubuntu

1. 鍦╪odejs瀹樼綉涓婁笅杞絃inux Binaries(宸茬粡鍖呭惈浜唍pm):

2. 瀹夎Node.js
涓嬭澆鍚庤В鍘嬶紝騫跺湪瑙e帇鐨勬枃浠跺す涓惎鍔═erminal鍚庯紝杈撳叆鍛戒護錛?br />    sudo cp * /usr/local/ -r
鍐嶈緭鍏ュ懡浠わ細
    node -v
    npm -v
鏌ョ湅紼嬪簭鐗堟湰錛屾潵媯嫻嬫槸鍚︽垚鍔熷畨瑁咃細


3. 瀹夎express
    npm install -g express-generator

4. 嫻嬭瘯Node鍜孍xpress
鐢–esium鏉ユ祴璇曚竴涓嬪畨瑁呮槸鍚︽垚鍔燂紝榪涘叆鍒癈esium婧愮爜鏂囦歡澶癸紝杈撳叆鍛戒護錛?br />Node server.js


琛ㄧず鍚姩鎴愬姛錛屽湪嫻忚鍣ㄤ腑杈撳叆緗戝潃錛歨ttp://localhost:8080/


鐐瑰嚮閾炬帴Hello World鍑虹幇涓嬮潰鐨勮繖涓湴鐞冿細





eryar 2019-07-08 12:10 鍙戣〃璇勮
]]>
Boost test vs2013 fatal error C1001http://www.shnenglu.com/eryar/archive/2019/07/06/boost_test.htmleryareryarSat, 06 Jul 2019 04:54:00 GMThttp://www.shnenglu.com/eryar/archive/2019/07/06/boost_test.htmlhttp://www.shnenglu.com/eryar/comments/216504.htmlhttp://www.shnenglu.com/eryar/archive/2019/07/06/boost_test.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/216504.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/216504.htmlBoost test vs2013 fatal error C1001

鍦?span style="font-family: 'Times New Roman';">Visual Studio 2013涓嬌鐢?/span>boost鐨?/span>test妯″潡鏃朵細鎶ヨ嚧鍛介敊璇紝濡備笅鍥炬墍紺猴細

杈撳嚭鎶ラ敊淇℃伅濡備笅錛?/p>

1>------ Build started: Project: Test, Configuration: Debug Win32 ------

1>  main.cpp

1>d:\boost_1_70_0\boost\type_traits\common_type.hpp(47): fatal error C1001: An internal error has occurred in the compiler.

1>  (compiler file 'msc1.cpp', line 1325)

1>   To work around this problem, try simplifying or changing the program near the locations listed above.

1>  Please choose the Technical Support command on the Visual C++ 

1>   Help menu, or open the Technical Support help file for more information

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

 

瀹氫綅鍒版姤閿欐枃浠舵槸common_type.hpp錛?/span>

 

鍙互鐪嬪嚭鏄洜涓篊XX11鐨勫師鍥狅紝鍥犱負VS2013涓嶆敮鎸?/span>C++11錛屾墍浠?/span>boost鎻愪緵浜嗕竴涓畯瀹氫箟鏉ヨ緗槸鍚︽敮鎸?/span>CXX11錛?/span>

BOOST_NO_CXX11_TEMPLATE_ALIASES

鍦≒roject->Properties->C/C++->Preprocessor涓緗嵆鍙細

 

 


涓轟簡鏂逛究澶у鍦ㄧЩ鍔ㄧ涔熻兘鐪嬪埌鎴戠殑鍗氭枃鍜岃璁轟氦嫻侊紝鐜板凡娉ㄥ唽寰俊鍏紬鍙鳳紝嬈㈣繋澶у鎵弿涓嬫柟浜岀淮鐮佸叧娉ㄣ?/h5>Shing Liu(eryar@163.com)


eryar 2019-07-06 12:54 鍙戣〃璇勮
]]>
QString::toStdString() crasheshttp://www.shnenglu.com/eryar/archive/2019/01/17/std_string_crash.htmleryareryarThu, 17 Jan 2019 13:50:00 GMThttp://www.shnenglu.com/eryar/archive/2019/01/17/std_string_crash.htmlhttp://www.shnenglu.com/eryar/comments/216209.htmlhttp://www.shnenglu.com/eryar/archive/2019/01/17/std_string_crash.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/216209.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/216209.html浠婂ぉ鍦≦t涓紑鍙戠▼搴忔椂錛岄亣鍒頒竴涓猀String::toStdString()鐨勫唴瀛橀棶棰橈紝鐢ㄦ硶濡備笅錛?/p>
void test(const QString& theFileName)
{
    std::string aFileName = theFileName.toStdString();
    std::ofstream aFile(aFileName);
    aFile << aFileName;
}

鍦ㄥ嚱鏁拌繕娌℃墽琛屽畬灝卞穿婧冧簡錛岃窡韙彂鐜版槸std::string鐨勯棶棰樸傛渶鍚庡彂鐜版槸鍥犱負寮曠敤鐨勫簱鐨凴untime Library涓嶅悓瀵艱嚧鐨勶紝涓涓槸MDd錛屼竴涓槸MTd錛屽悗鏉ユ敼鎴愪竴鑷村嵆鍙?/p>



eryar 2019-01-17 21:50 鍙戣〃璇勮
]]>
Consolas 瀛椾綋http://www.shnenglu.com/eryar/archive/2019/01/15/Consolas.htmleryareryarTue, 15 Jan 2019 08:53:00 GMThttp://www.shnenglu.com/eryar/archive/2019/01/15/Consolas.htmlhttp://www.shnenglu.com/eryar/comments/216204.htmlhttp://www.shnenglu.com/eryar/archive/2019/01/15/Consolas.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/216204.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/216204.html

姒傝堪

榪欏瀛楀瀷浣跨敤浜嗗井杞殑ClearType 瀛楀瀷騫蟲粦鎶鏈紝騫墮殢鍚學indows Vista銆丱ffice 2007鍙奙icrosoft Visual Studio涓彂琛岋紝鎴栧彲鍦ㄥ井杞殑緗戠珯涓嬭澆銆傚湪Windows Vista鐨?濂楁柊瀛楀瀷涓紝Consolas榪戜技浜庡墠鐗圵indows涓?鐨?嬈懼唴寤哄瓧鍨嬶細Lucida Console涓嶤ourier New錛屼富瑕佷負紼嬪簭浠g爜鐨勬樉紺哄瓧鍨嬭岃璁$殑錛岀壒鍒箣澶勬槸瀹冪殑“0”瀛楀姞鍏ヤ簡涓鏂滄拠錛屼互鏂逛究涓庡瓧姣?#8220;O”鍒嗚鯨銆? 鍦–onsolas涔嬪墠錛岀▼搴忎唬鐮佺殑鏄劇ず瀛楀瀷澶у涓篊ourier New鎴栧叾浠栫瓑瀹藉瓧鍨嬶紝瀛楀瀷鐨勬煍杈癸紙鍙嶉敮榻匡級鏁堟灉鍒欎緷涓漢鍠滃ソ閫夋嫨寮鍚垨鍏抽棴錛岀劧鑰孋onsolas鏄笓涓烘煍杈規晥鏋滆岃璁$殑瀛楀瀷錛岀壒鍒槸涓轟簡鎼厤寰蔣鐨凜learType鎶鏈紝濡傛灉涓嶅紑鍚疌learType錛孋onsolas鐨勬樉紺烘晥鏋滀細鎵撳ぇ鎶樻墸銆傚彟澶栵紝ClearType鎶鏈繕闇瑕佹惌閰嶆恫鏅舵樉紺哄櫒鎵嶄細鏈夋渶浣寵〃鐜般?

搴旂敤

浼犵粺涓婏紝紼嬪紡緙栧啓鍛樺湪Windows鐜搴曚笅錛屼竴鑸兘浼氫嬌鐢–ourier New鎴栧叾浠栬繎浼肩殑絳夊瀛椾綋鏉ユ樉紺虹▼搴忎唬鐮併傞氬父鐢ㄦ潵緙栧啓紼嬪簭浠g爜鐨勭▼搴忛兘浼氳緙栫▼鍛橀夋嫨鐢ㄦ潵鏄劇ず紼嬪簭浠g爜鐨勫瓧浣撱傜敱浜嶤ourier New鐨勫瓧鍨嬫瘮杈冭偉澶э紝浣挎瘡涓敾闈㈡垨欏甸潰鎵鑳芥樉紺虹殑紼嬪簭浠g爜澶т負鍑忓皯銆侰onsolas闄や簡鑳藉鍦ㄨ緝灝戠殑絀洪棿鏄劇ず鏇村鐨勫唴瀹癸紝瀹冪殑娓呮櫚瀛楀瀷浜︿嬌緙栫▼鍛樿兘澶熸洿蹇嵎鐨勫垎杈ㄦ瘡涓涓枃瀛椼?br />
榪欎釜瀛椾綋鐢ㄦ潵緙栫爜寰堟竻鏅幫紝鑸掓湇錛屼富瑕佹槸鏁板瓧0鍜屽瓧姣?鍙互瀹規槗鐨勫尯鍒嚭鏉ワ紝榪欓噷鍋氫釜澶囧繕錛屾柟渚垮湪緙栫爜鐜涓緗繖涓瓧浣撱?img src ="http://www.shnenglu.com/eryar/aggbug/216204.html" width = "1" height = "1" />

eryar 2019-01-15 16:53 鍙戣〃璇勮
]]>
qmake鐢熸垚Visual Studio宸ョ▼ http://www.shnenglu.com/eryar/archive/2018/09/30/qmake.htmleryareryarSun, 30 Sep 2018 05:49:00 GMThttp://www.shnenglu.com/eryar/archive/2018/09/30/qmake.htmlhttp://www.shnenglu.com/eryar/comments/215984.htmlhttp://www.shnenglu.com/eryar/archive/2018/09/30/qmake.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/215984.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/215984.html 

鏁翠釜Qt鍦╓indows涓兘鍙互閫氳繃鎵瑰鐞嗘潵緙栬瘧錛屽綋緙栬瘧濂絈t鍚庯紝浼氱敓鎴恞make.exe銆?/p>

鍦ㄦ病鏈夊畨瑁匭t-VS-Addin鐨勬儏鍐典笅錛屽浣曚嬌鐢ㄥ埆浜烘彁渚涚殑Qt *.pro欏圭洰鏂囦歡鍛紵

浣跨敤qmake鍙互鐩存帴鐢熸垚Visual Studio欏圭洰鏂囦歡錛屽懡浠ゅ涓嬶細

qmake -tp vc


濡傛灉涓嶆垚鍔燂紝鍙兘榪橀渶瑕侀厤緗甉MAKESPEC錛?/p>

set QMAKESPEC=win32-msvc2015


浠嶸isual Studio鐨勮彍鍗曞惎鍔╒S鍛戒護紿楀彛錛屽彲浠ユ妸qmake紼嬪簭鐨勮礬寰勮緗埌鐜鍙橀噺PATH涓紝鍐嶅垏鎹㈠埌*.pro鏂囦歡鎵鍦ㄧ洰褰曪紝浣跨敤qmake鍛戒護銆傚鏋滈渶瑕侀掑綊澶勭悊鎵鏈?.pro鏂囦歡錛屽彲浠ュ姞涓?recursive閫夐」銆傚畬鏁村唴瀹瑰涓嬶細

set PATH=%PATH%;D:/Qt5.8.0/bin;
set QMAKESPEC=win32-msvc2015
qmake -tp vc -recursive
nmake

 



eryar 2018-09-30 13:49 鍙戣〃璇勮
]]>
CesiumJS - 3D Tiles BIMhttp://www.shnenglu.com/eryar/archive/2018/08/24/CesiumJS-BIM.htmleryareryarFri, 24 Aug 2018 13:12:00 GMThttp://www.shnenglu.com/eryar/archive/2018/08/24/CesiumJS-BIM.htmlhttp://www.shnenglu.com/eryar/comments/215873.htmlhttp://www.shnenglu.com/eryar/archive/2018/08/24/CesiumJS-BIM.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/215873.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/215873.htmlCesiumJS - 3D Tiles BIM

eryar@163.com

1. Introduction

CesiumJS is an open-source JavaScript library for world-class 3D globes and maps. 

wps_clip_image-27753

浠庡叾瀹樼綉涓婂彲浠ョ湅鍒拌繖涓簱鐨勬効鏅細鎴愪負涓栫晫綰х殑涓夌淮鍦板浘銆傜敱浜庡叾楂樻ц兘錛屽澶фā鍨嬬殑浼樺寲鎶鏈紝鍙互鐢ㄤ簬BIM銆傛敮鎸丆esium鐨勮儲鍥㈤噷闈㈠氨鏈塀entley銆侭entley涔熸湁宸ュ巶CAD杞歡銆?/p>

2. Node.js

浠巒odejs瀹樼綉https://nodejs.org/en/download/涓婁笅杞藉畨瑁呭寘錛屽鏋滄病鏈夊畨瑁呮潈闄愶紝鍙互涓嬭澆鍏嶅畨瑁呯殑鎵撳寘鏂囦歡錛?/p>

wps_clip_image-27908

鐩存帴瑙e帇鍒癲:/nodejs銆傚茍鍦ㄦ鏂囦歡澶逛腑鍒涘緩涓や釜鏂囦歡澶癸細node_global, node_cache錛屽涓嬪浘鎵紺猴細

wps_clip_image-15261

鐒跺悗浣跨敤CMD紿楀彛錛屽垏鎹㈠埌d:/nodejs鐩綍錛岃緭鍏ュ涓嬪懡浠ゆ潵璁劇疆global鍜宑ache錛?/p>

npm config set prefix “d:/nodejs/node_global”
npm config set cache “d:/nodejs/node_cache”

騫朵慨鏀筺odevars.bat涓殑鐜鍙橀噺錛?/p>

wps_clip_image-24391

騫惰繍琛宯odevars.bat銆?/p>

瀹夎CesiumJS鎵闇瑕佺殑鎻掍歡錛?/p>

npm install compression -g
npm install request -g
npm install yargs -g

 

3. CesiumJS Hello World

鍦–MD鍛戒護紿楀彛涓垏鎹㈠埌Cesium鏂囦歡澶癸紝騫惰緭鍏ュ懡浠わ細

Node server.js

鍑虹幇濡備笅鍥炬墍紺虹殑 Cesium development server running locally.

琛ㄧずCesium鍙互鍦ㄦ湰鍦拌繍琛屼簡銆?/p>

wps_clip_image-981

鍦ㄦ祻瑙堝櫒涓緭鍏ュ湴鍧錛歨ttp://localhost:8080錛屽嚭鐜板涓嬪浘鎵紺洪〉闈細

wps_clip_image-28088

鐐瑰嚮HelloWorld閾炬帴錛屽嚭鐜板涓嬪浘鎵紺虹殑鐨勪竴涓笁緇村湴鐞冨氨琛ㄧずCesium瀹夎鎴愬姛浜嗐?/p>

wps_clip_image-22233

4. 3D Tiles BIM Demo

鍦–esium鐨勫畼緗戜笂鏈塀entley鎻愪緵鐨勪竴涓伐鍘侭IM妯″瀷渚嬪瓙錛屽彲浠ヤ粠濡備笅鍦板潃鏌ョ湅錛?/p>

https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/index.html?src=3D%20Tiles%20BIM.html

wps_clip_image-24263

 

浠庡叾瀹樻柟鐨勪粙緇嶆潵鐪嬶紝Cesium浣跨敤鐨?D Tiles鎶鏈彲浠ュ涓夌淮妯″瀷鏁版嵁榪涜鍘嬬緝鍙婂叾浠栦紭鍖栨妧鏈紝浣垮叾鍙互鍔犺澆寰堝ぇ鐨勬ā鍨嬬殑鎯呭喌涓嬶紝嫻忚欏虹晠銆備笖3D Tiles鏍煎紡涔熸槸寮婧愮殑錛屽彲浠ュ涔犲熼壌銆?/p>

5. Conclusion

鏈枃浠嬬粛浜咰esiumJS榪欎釜JavaScript搴撶殑瀹夎鍜岄厤緗紝騫跺睍紺轟簡鍏跺湪BIM涓殑涓涓簲鐢ㄤ緥瀛愩傚彲浠ラ氳繃瀛︿範CesiumJS鏉ュ皢PDMS妯″瀷杞崲鎴?D Tiles鏍煎紡錛屾潵嫻嬭瘯鍏跺澶фā鍨嬬殑鏀寔鏁堟灉銆?/p>


涓轟簡鏂逛究澶у鍦ㄧЩ鍔ㄧ涔熻兘鐪嬪埌鎴戠殑鍗氭枃鍜岃璁轟氦嫻侊紝鐜板凡娉ㄥ唽寰俊鍏紬鍙鳳紝嬈㈣繋澶у鎵弿涓嬫柟浜岀淮鐮佸叧娉ㄣ?/h5>Shing Liu(eryar@163.com)


eryar 2018-08-24 21:12 鍙戣〃璇勮
]]>
QCAD Plugin 寮鍙?/title><link>http://www.shnenglu.com/eryar/archive/2018/06/21/QCAD_Plugin.html</link><dc:creator>eryar</dc:creator><author>eryar</author><pubDate>Thu, 21 Jun 2018 15:28:00 GMT</pubDate><guid>http://www.shnenglu.com/eryar/archive/2018/06/21/QCAD_Plugin.html</guid><wfw:comment>http://www.shnenglu.com/eryar/comments/215735.html</wfw:comment><comments>http://www.shnenglu.com/eryar/archive/2018/06/21/QCAD_Plugin.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/eryar/comments/commentRss/215735.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/eryar/services/trackbacks/215735.html</trackback:ping><description><![CDATA[<h3 style="text-align: center;">QCAD Plugin 寮鍙?/h3> <p style="text-align: center;"><a href="mailto:eryar@163.com">eryar@163.com</a></p> <p><strong>Abstract.</strong> QCAD鏄熀浜嶨PL鍗忚鐨勫紑婧怌AD杞歡錛屾牳蹇冨姛鑳藉熀浜嶲t浣跨敤C++寮鍙戯紝鐣岄潰鍙婂叾浜や簰浣跨敤Javascript鑴氭湰榪涜寮鍙戙俀CAD瀹樻柟鎺ㄨ崘寮鍙戝叾Plugin鐨勬柟寮忎負浣跨敤Javascript鑴氭湰鐨勬柟寮忥紝鍥犱負QCAD鐨勮彍鍗曞強鍏跺搴旂殑鍔熻兘鍏ㄩ儴鐢盝avascript瀹炵幇銆傜▼搴忔湁鏃朵篃闇瑕佸拰C++鐩存帴閫氫俊錛屽鍦≦CAD涓嬌鐢∣penCASCADE銆傛湰鏂囦富瑕佷粙緇嶅浣曟潵寮鍙慟CAD鐨勬彃浠禤lugin錛屼粠鑰岃兘澶熷QCAD榪涜鎵╁睍錛屽仛涓浜涘畾鍒跺寲鐨勫姛鑳藉紑鍙戙?/p> <p><strong>Key Words.</strong> QCAD Plugin, Javascript, C++, CAD, 3D</p> <h2>1.Introduction</h2> <p>QCAD鏄疓PL鍗忚鐨勫紑婧怌AD杞歡錛屼富瑕佷嬌鐢↗avascript鑴氭湰榪涜寮鍙戯紝涔熷彲浣跨敤C++寮鍙戙備笌AutoCAD鐨勫縐嶅紑鍙戞柟寮忎竴鏍鳳紝鏀寔AutoLisp鑴氭湰錛屼篃鏀寔ObjectArx浣跨敤C++榪涜寮鍙戙備笉榪囧紑婧愮殑紼嬪簭鍙互榪涜婧愮爜Debug錛岄亣鍒伴棶棰樺彲浠ヨ嚜宸卞姩鎵嬭В鍐熾傝孉utoCAD鏄棴婧愮殑錛屽鏋滄槸姝g増鐢ㄦ埛鍙互鍜ㄨ寮鍙戝巶瀹訛紝涓嶈兘榪芥牴婧簮銆傚浜庢兂瀛︿範CAD鐨勪漢鏉ヨ錛屽緩璁彲浠ュ鐪嬭繖縐嶅紑婧愯蔣浠訛紝瀛︿範CAD鐨勫紑鍙戝師鐞嗐?/p> <p>鏈枃涓昏浠嬬粛寮婧愯蔣浠禥CAD鐨勬彃浠禤lugin鐨勫紑鍙戞柟娉曘?/p> <h2>2.Javascript</h2> <p>鐢變簬QCAD鐨勮彍鍗曘佷氦浜掗兘鎻愪緵浜咼avascript鐨勫皝瑁咃紝鎵浠CAD鐨勫ぇ閮ㄥ垎鍔熻兘閮芥槸鐢↗avascript鑴氭湰瀹炵幇銆備嬌Javascript鑴氭湰瀵筈CAD榪涜寮鍙戜篃鏄疩CAD浣滆呮帹鑽愮殑鏂瑰紡銆?/p> <p><a >https://www.qcad.org/doc/qcad/latest/developer/_script_scope.html</a></p> <p>QCAD紼嬪簭妗嗘灦鎻愪緵浜嗕竴寰堝畬鏁寸殑寮哄ぇ鐨凟CMAScript鎺ュ彛錛孮CAD鍑犱箮鎵鏈夌殑鍔熻兘閮藉彲浠ラ氳繃鑴氭湰JavaScript鏉ヨ闂侲CMAScript錛圝avaScript錛夋槸寰堟祦琛屼笖鏄撲簬瀛︿範鐨勪竴縐嶈剼鏈璦銆傞氳繃浣跨敤JavaScript鑴氭湰鏉ユ墿灞昋CAD鏄竴縐嶇畝鍗曢珮鏁堢殑鏂瑰紡錛屾墿灞曠殑鍔熻兘鍖呮嫭浜や簰鍒涘緩銆佷慨鏀瑰伐鍏風瓑絳夈?/p> <p><a ><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="wps_clip_image-21599" src="https://images2018.cnblogs.com/blog/534255/201806/534255-20180621232150404-1238697124.png" alt="wps_clip_image-21599" width="431" height="204" border="0" /></a></p> <p>鐢ㄦ埛鐢氳嚦鍙互鍩轟簬QCAD鐨勫簲鐢ㄦ鏋跺紑鍙戝嚭涓涓叏鏂扮殑紼嬪簭銆傚叏鏂扮殑紼嬪簭鍙兘鏄竴涓帶鍒跺彴宸ュ叿鎴栧寘鍚敤鎴蜂氦浜掔殑CAD紼嬪簭錛?/p> <p><a ><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="wps_clip_image-12615" src="https://images2018.cnblogs.com/blog/534255/201806/534255-20180621232150976-1419070353.png" alt="wps_clip_image-12615" width="418" height="196" border="0" /></a></p> <p>濡備笅鍥炬墍紺轟負QCAD涓富瑕佹ā鍧楃殑鍔熻兘銆俀t涓昏娑夊強閫氱敤鐨勫姛鑳斤紝涓嶤AD娌℃湁鐩存帴鍏崇郴銆俀CAD紼嬪簭妗嗘灦QCAD Application Framework鎻愪緵CAD涓撶敤鍔熻兘錛屽CAD Core, DXF瀵煎叆瀵煎嚭銆佸己澶х殑鍥懼艦瑙嗗浘powerful graphics view絳夌瓑銆傝剼鏈珽CMAScript鍙互鐢ㄦ潵蹇熺殑鎵╁睍CAD涓撶敤鍔熻兘銆俀CAD鐢ㄦ埛鎺ュ彛鍙婃墍鏈夌殑浜や簰鍔熻兘銆佸嚑涔庢墍鏈夌殑紿楀彛閮芥槸閫氳繃鑴氭湰瀹炵幇鐨勩?/p> <p>QCAD鍖呬腑鐨剄cad.exe灝辨槸涓涓狤CMAScript瑙i噴鍣紝騫朵笖灝佽浜哘t鍜孮CAD鐨勬帴鍙c傚綋娌℃湁浠諱綍ECMAScript鑴氭湰鐨勬椂鍊欙紝榪愯qcad.exe灝嗕細浠涔堜篃涓嶅仛銆俀cad.exe榛樿浼氭煡鎵?#8220;scripts/autostart.js”騫舵墽琛屻傚湪QCAD涓紝autostart.js鑴氭湰鍒濆鍖栦簡鎵鏈夌殑ECMAScript宸ュ叿鍜岀敤鎴蜂氦浜掔殑鍔熻兘錛屽茍鍚姩涓葷▼搴忋?/p> <p>QCAD涓嚑涔庢墍鏈夌殑紿楀彛銆佽彍鍗曘佸伐鍏鋒爮閮芥槸閫氳繃ECMAScript鑴氭湰瀹炵幇銆傝繖浜涜剼鏈綅浜巗cripts鏂囦歡澶逛腑銆?/p> <p><a ><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="wps_clip_image-10035" src="https://images2018.cnblogs.com/blog/534255/201806/534255-20180621232151727-1141609498.png" alt="wps_clip_image-10035" width="577" height="167" border="0" /></a></p> <p>鐢↗avaScript鑴氭湰寮鍙慟CAD鎻掍歡鏈濂藉姙娉曞氨鏄厛鍦≦CAD涓垱寤鴻彍鍗曞拰宸ュ叿鏍忋備笅闈㈠氨緇欏嚭鍦≦CAD涓垱寤鴻彍鍗曞拰宸ュ叿鏍忕殑姝ラ銆傞鍏堣鍒涘緩鏂囦歡緇撴瀯錛?/p> <p>l 瀵逛簬鏂扮殑欏跺眰鑿滃崟錛屽湪QCAD鐩綍涓殑scripts鏂囦歡澶逛腑鍒涘緩涓涓柊鐨勬枃浠跺す銆備緥濡傦細鍒涘緩涓涓?#8220;MyScripts”鐨勬枃浠跺す錛?/p> <p>l 鍦∕yScripts鏂囦歡澶逛腑鍒涘緩涓涓枃鏈枃浠?#8220;MyScripts.js”錛?/p> <p>l 鍦∕yScripts鏂囦歡澶逛腑鍒涘緩鍙﹀涓涓枃浠跺す鏉ユ彁渚涗竴涓懡浠ction錛屽鍛藉悕涓?#8220;MyAction”錛?/p> <p>l 鍦∕yAction鏂囦歡澶逛腑鍒涘緩涓涓枃鏈枃浠禡yAction.js錛屾枃浠跺悕蹇呴』鍜屾枃浠跺す鐨勫悕瀛椾竴鑷達紱</p> <p>鏂囦歡緇勭粐緇撴瀯濡備笅鎵紺猴細</p> <p><a ><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="wps_clip_image-11506" src="https://images2018.cnblogs.com/blog/534255/201806/534255-20180621232152246-1477474323.png" alt="wps_clip_image-11506" width="246" height="130" border="0" /></a></p> <p>灝嗗涓婮avaScript鑴氭湰澶嶅埗鍒癕yScripts.js鏂囦歡涓細</p> <div id="hvzpftn" class="cnblogs_code"> <pre><span style="color: #008000;">/*</span><span style="color: #008000;">* * Copyright (c) 2011-2018 by Andrew Mustun. All rights reserved. * * This file is part of the QCAD project. * * QCAD is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * QCAD is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with QCAD. </span><span style="color: #008000;">*/</span> <span style="color: #008000;">//</span><span style="color: #008000;"> MyScripts.js</span><span style="color: #008000;"> //</span><span style="color: #008000;"> All actions are derived from class EAction, so we need to </span><span style="color: #008000;"> //</span><span style="color: #008000;"> include this class definition here:</span> include("../EAction.js"<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> Constructor calls base class constructor:</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> MyScripts(guiAction) { EAction.call(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">, guiAction); } </span><span style="color: #008000;">//</span><span style="color: #008000;"> Derive class MyScripts from class EAction:</span> MyScripts.prototype = <span style="color: #0000ff;">new</span><span style="color: #000000;"> EAction(); </span><span style="color: #008000;">//</span><span style="color: #008000;"> This static function returns a new or existing QMenu object.</span> MyScripts.getMenu = <span style="color: #0000ff;">function</span><span style="color: #000000;">() { </span><span style="color: #008000;">//</span><span style="color: #008000;"> EAction.getMenu is a helper function that returns an existing </span> <span style="color: #008000;">//</span><span style="color: #008000;"> or new QMenu object with the given title and object name.</span> <span style="color: #008000;">//</span><span style="color: #008000;"> The object name (here "MyScriptMenu") must be unique. </span> <span style="color: #0000ff;">return</span> EAction.getMenu(MyScripts.getTitle(), "MyScriptsMenu"<span style="color: #000000;">); }; </span><span style="color: #008000;">//</span><span style="color: #008000;"> This static function returns a new or existing QToolBar object.</span> MyScripts.getToolBar = <span style="color: #0000ff;">function</span><span style="color: #000000;">() { </span><span style="color: #008000;">//</span><span style="color: #008000;"> EAction.getToolBar is a helper function that returns an existing </span> <span style="color: #008000;">//</span><span style="color: #008000;"> or new QToolBar object with the given title and object name.</span> <span style="color: #008000;">//</span><span style="color: #008000;"> The object name (here "MyScriptToolBar") must be unique. </span> <span style="color: #0000ff;">return</span> EAction.getToolBar(MyScripts.getTitle(), "MyScriptToolBar"<span style="color: #000000;">); }; </span><span style="color: #008000;">//</span><span style="color: #008000;"> This static function defines and returns the title of the menu </span><span style="color: #008000;"> //</span><span style="color: #008000;"> and toolbar.</span><span style="color: #008000;"> //</span><span style="color: #008000;"> The qsTr function marks the title as a translatable string.</span> MyScripts.getTitle = <span style="color: #0000ff;">function</span><span style="color: #000000;">() { </span><span style="color: #0000ff;">return</span> qsTr("My Scripts"<span style="color: #000000;">); }; </span><span style="color: #008000;">//</span><span style="color: #008000;"> Init creates the menu and toolbar on start.</span> MyScripts.init = <span style="color: #0000ff;">function</span><span style="color: #000000;">() { MyScripts.getMenu(); MyScripts.getToolBar(); };</span></pre> </div> <p> </p> <p>灝嗗涓嬭剼鏈唬鐮佸鍒跺埌MyAction.js鏂囦歡涓細</p> <div id="hvzpftn" class="cnblogs_code"> <pre><span style="color: #008000;">/*</span><span style="color: #008000;">* * Copyright (c) 2011-2018 by Andrew Mustun. All rights reserved. * * This file is part of the QCAD project. * * QCAD is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * QCAD is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with QCAD. </span><span style="color: #008000;">*/</span> <span style="color: #008000;">//</span><span style="color: #008000;"> MyAction.js</span><span style="color: #008000;"> //</span><span style="color: #008000;"> Include base class definition:</span> include("../MyScripts.js"<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> Constructor calls base class constructor:</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> MyAction(guiAction) { MyScripts.call(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">, guiAction); } </span><span style="color: #008000;">//</span><span style="color: #008000;"> Derive class MyAction from class MyScripts:</span> MyAction.prototype = <span style="color: #0000ff;">new</span><span style="color: #000000;"> MyScripts(); </span><span style="color: #008000;">//</span><span style="color: #008000;"> This function is called immediately after the constructor when the user </span><span style="color: #008000;"> //</span><span style="color: #008000;"> starts this action. For actions that don't require any user input (for</span><span style="color: #008000;"> //</span><span style="color: #008000;"> example auto zoom), beginEvent does everything and then terminates the</span><span style="color: #008000;"> //</span><span style="color: #008000;"> action.</span> MyAction.prototype.beginEvent = <span style="color: #0000ff;">function</span><span style="color: #000000;">() { </span><span style="color: #008000;">//</span><span style="color: #008000;"> call base class implementation of beginEvent:</span> MyScripts.prototype.beginEvent.call(<span style="color: #0000ff;">this</span><span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> get main application window:</span> <span style="color: #0000ff;">var</span> appWin =<span style="color: #000000;"> EAction.getMainWindow(); </span><span style="color: #008000;">//</span><span style="color: #008000;"> print a message in the console of QCAD:</span> appWin.handleUserMessage("MyAction() is running..."<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> terminate this action immediately:</span> <span style="color: #0000ff;">this</span><span style="color: #000000;">.terminate(); }; </span><span style="color: #008000;">//</span><span style="color: #008000;"> MyAction.init() is called by QCAD to initialize the action and create</span><span style="color: #008000;"> //</span><span style="color: #008000;"> the menu / toolbar for it.</span> MyAction.init = <span style="color: #0000ff;">function</span><span style="color: #000000;">(basePath) { </span><span style="color: #008000;">//</span><span style="color: #008000;"> Create a new RGuiAction (extended QAction):</span> <span style="color: #0000ff;">var</span> action = <span style="color: #0000ff;">new</span> RGuiAction("&My Action"<span style="color: #000000;">, RMainWindowQt.getMainWindow()); </span><span style="color: #008000;">//</span><span style="color: #008000;"> This action requires a document to be open. If no document is</span> <span style="color: #008000;">//</span><span style="color: #008000;"> open, the menu and tool button are grayed out:</span> action.setRequiresDocument(<span style="color: #0000ff;">true</span><span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> Define the script file that is executed when this action is</span> <span style="color: #008000;">//</span><span style="color: #008000;"> launched:</span> action.setScriptFile(basePath + "/MyAction.js"<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> Set the icon that is shown in the toolbar and on some platforms</span> <span style="color: #008000;">//</span><span style="color: #008000;"> also in the menu:</span> action.setIcon(basePath + "/MyAction.svg"<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> Set the command(s) that can be used on the command line to </span> <span style="color: #008000;">//</span><span style="color: #008000;"> launch this action:</span> action.setDefaultCommands(["myaction"<span style="color: #000000;">]); </span><span style="color: #008000;">//</span><span style="color: #008000;"> Define the sort order of this action. Menus and tool buttons are</span> <span style="color: #008000;">//</span><span style="color: #008000;"> ordered by these values:</span> action.setGroupSortOrder(80100<span style="color: #000000;">); action.setSortOrder(</span>200<span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;"> Set list of widgets this action is added to</span> <span style="color: #008000;">//</span><span style="color: #008000;"> (menus, tool bars, CAD tool bar panels):</span> action.setWidgetNames(["MyScriptsMenu"<span style="color: #000000;">]); };</span></pre> </div> <p> </p> <p>鍚姩QCAD鍙互鍙戠幇鍦ㄨ彍鍗曚笂鏈変簡MyScripts錛屽涓嬪浘鎵紺猴細</p> <p><a ><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="wps_clip_image-31967" src="https://images2018.cnblogs.com/blog/534255/201806/534255-20180621232153012-1158677768.png" alt="wps_clip_image-31967" width="576" height="310" border="0" /></a></p> <p>鐐瑰嚮MyAction鑿滃崟錛屼細鍦ㄥ懡浠ょ獥鍙d腑杈撳嚭嫻嬭瘯鏂囧瓧銆?/p> <h2>3.C++</h2> <p>鏃㈢劧QCAD鐨勬槸鍩轟簬Qt寮鍙戠殑錛岀悊鎵褰撶劧鍦板簲璇ユ敮鎸丆++寮鍙戯紝鍙槸C++寮鍙戞柟寮忛渶瑕佷笌JavaScript鐩哥粨鍚堛傚洜涓篞CAD涓竴浜涗氦浜掑姛鑳藉皝瑁呭埌JavaScript鑴氭湰涓簡錛屾墍浠ュ彧鑳介氳繃鍦↗avaScript涓皟鐢–++銆傝繖縐嶆柟寮廞CAD涔熸彁渚涗簡涓涓緥瀛愶紝浣嶄簬婧愮爜鐨?/p> <p>support\examples\exampleplugin涓備富瑕佹槸灝咰++鐨勭被鏆撮湶緇橨avaScript錛屼嬌鍦↗avaScript涓彲浠ヨ皟鐢–++鐨勭被鍙婂叾鏂規硶銆傚彧灝嗗ご鏂囦歡婧愮爜鍒楀嚭濡備笅錛歊ExamplePlugin.h</p> <div id="hvzpftn" class="cnblogs_code"> <pre>#include <QDebug><span style="color: #000000;"> #include </span><QObject><span style="color: #000000;"> #include </span><QScriptEngine><span style="color: #000000;"> #include </span><QStringList><span style="color: #000000;"> #include </span><span style="color: #800000;">"</span><span style="color: #800000;">RActionAdapter.h</span><span style="color: #800000;">"</span><span style="color: #000000;"> #include </span><span style="color: #800000;">"</span><span style="color: #800000;">RDocumentInterface.h</span><span style="color: #800000;">"</span><span style="color: #000000;"> #include </span><span style="color: #800000;">"</span><span style="color: #800000;">RGuiAction.h</span><span style="color: #800000;">"</span><span style="color: #000000;"> #include </span><span style="color: #800000;">"</span><span style="color: #800000;">RMainWindow.h</span><span style="color: #800000;">"</span><span style="color: #000000;"> #include </span><span style="color: #800000;">"</span><span style="color: #800000;">RPluginInterface.h</span><span style="color: #800000;">"</span> <span style="color: #0000ff;">class</span> MyAction : <span style="color: #0000ff;">public</span><span style="color: #000000;"> RActionAdapter { </span><span style="color: #0000ff;">public</span><span style="color: #000000;">: MyAction(RGuiAction</span>*<span style="color: #000000;"> guiAction) : RActionAdapter(guiAction) {} </span><span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> factory(RGuiAction*<span style="color: #000000;"> guiAction) { qDebug() </span><< <span style="color: #800000;">"</span><span style="color: #800000;">MyAction::factory</span><span style="color: #800000;">"</span><span style="color: #000000;">; </span><span style="color: #0000ff;">if</span> (guiAction==<span style="color: #000000;">NULL) { qDebug(</span><span style="color: #800000;">"</span><span style="color: #800000;">guiAction is NULL</span><span style="color: #800000;">"</span><span style="color: #000000;">); </span><span style="color: #0000ff;">return</span><span style="color: #000000;">; } RDocumentInterface</span>* di =<span style="color: #000000;"> RMainWindow::getDocumentInterfaceStatic(); </span><span style="color: #0000ff;">if</span> (di==<span style="color: #000000;">NULL) { qDebug(</span><span style="color: #800000;">"</span><span style="color: #800000;">di is NULL</span><span style="color: #800000;">"</span><span style="color: #000000;">); </span><span style="color: #0000ff;">return</span><span style="color: #000000;">; } di</span>->setCurrentAction(<span style="color: #0000ff;">new</span><span style="color: #000000;"> MyAction(guiAction)); } </span><span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> beginEvent() { qDebug() </span><< <span style="color: #800000;">"</span><span style="color: #800000;">MyAction::beginEvent</span><span style="color: #800000;">"</span><span style="color: #000000;">; } }; </span><span style="color: #0000ff;">class</span> MyClass : <span style="color: #0000ff;">public</span><span style="color: #000000;"> QObject { Q_OBJECT </span><span style="color: #0000ff;">public</span><span style="color: #000000;">: MyClass() : QObject(), i(</span><span style="color: #800080;">0</span>), d(<span style="color: #800080;">0.0</span><span style="color: #000000;">) {} </span><span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">int</span> getInt() <span style="color: #0000ff;">const</span><span style="color: #000000;"> { </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> i; } </span><span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">double</span> getDouble() <span style="color: #0000ff;">const</span><span style="color: #000000;"> { </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> d; } </span><span style="color: #0000ff;">virtual</span> QString getString() <span style="color: #0000ff;">const</span><span style="color: #000000;"> { </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> s; } </span><span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span> setInt(<span style="color: #0000ff;">int</span><span style="color: #000000;"> v) { i </span>=<span style="color: #000000;"> v; } </span><span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span> setDouble(<span style="color: #0000ff;">int</span><span style="color: #000000;"> v) { d </span>=<span style="color: #000000;"> v; } </span><span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span> setString(<span style="color: #0000ff;">const</span> QString&<span style="color: #000000;"> v) { s </span>=<span style="color: #000000;"> v; } </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> emitSignal() { emit mySignal(i); } signals: </span><span style="color: #0000ff;">void</span> mySignal(<span style="color: #0000ff;">int</span><span style="color: #000000;"> code); </span><span style="color: #0000ff;">private</span><span style="color: #000000;">: </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i; </span><span style="color: #0000ff;">double</span><span style="color: #000000;"> d; QString s; }; Q_DECLARE_METATYPE(MyClass</span>*<span style="color: #000000;">) </span><span style="color: #008000;">/*</span><span style="color: #008000;">* * Script binding for MyClass. </span><span style="color: #008000;">*/</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> EcmaMyClass { </span><span style="color: #0000ff;">public</span><span style="color: #000000;">: </span><span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> initEcma(QScriptEngine&<span style="color: #000000;"> engine); </span><span style="color: #0000ff;">static</span> QScriptValue createMyClass(QScriptContext* context, QScriptEngine*<span style="color: #000000;"> engine); </span><span style="color: #0000ff;">static</span> QScriptValue myClassToString(QScriptContext *context, QScriptEngine *<span style="color: #000000;">engine); </span><span style="color: #0000ff;">static</span> MyClass* getSelfMyClass(<span style="color: #0000ff;">const</span> QString& fName, QScriptContext*<span style="color: #000000;"> context); </span><span style="color: #0000ff;">static</span> QScriptValue getInt(QScriptContext* context, QScriptEngine*<span style="color: #000000;"> engine); </span><span style="color: #0000ff;">static</span> QScriptValue getDouble(QScriptContext* context, QScriptEngine*<span style="color: #000000;"> engine); </span><span style="color: #0000ff;">static</span> QScriptValue getString(QScriptContext* context, QScriptEngine*<span style="color: #000000;"> engine); </span><span style="color: #0000ff;">static</span> QScriptValue setInt(QScriptContext* context, QScriptEngine*<span style="color: #000000;"> engine); </span><span style="color: #0000ff;">static</span> QScriptValue setDouble(QScriptContext* context, QScriptEngine*<span style="color: #000000;"> engine); </span><span style="color: #0000ff;">static</span> QScriptValue setString(QScriptContext* context, QScriptEngine*<span style="color: #000000;"> engine); </span><span style="color: #0000ff;">static</span> QScriptValue emitSignal(QScriptContext* context, QScriptEngine*<span style="color: #000000;"> engine); }; </span><span style="color: #0000ff;">class</span> RExamplePlugin : <span style="color: #0000ff;">public</span> QObject, <span style="color: #0000ff;">public</span><span style="color: #000000;"> RPluginInterface { Q_OBJECT Q_INTERFACES(RPluginInterface) </span><span style="color: #0000ff;">#if</span> QT_VERSION >= 0x050000<span style="color: #000000;"> Q_PLUGIN_METADATA(IID </span><span style="color: #800000;">"</span><span style="color: #800000;">org.qcad.exampleplugin</span><span style="color: #800000;">"</span><span style="color: #000000;">) </span><span style="color: #0000ff;">#endif</span> <span style="color: #0000ff;">public</span><span style="color: #000000;">: </span><span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">bool</span><span style="color: #000000;"> init(); </span><span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span> uninit(<span style="color: #0000ff;">bool</span><span style="color: #000000;">) {} </span><span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> postInit(InitStatus status); </span><span style="color: #0000ff;">virtual</span> <span style="color: #0000ff;">void</span> initScriptExtensions(QScriptEngine&<span style="color: #000000;"> engine); </span><span style="color: #0000ff;">virtual</span><span style="color: #000000;"> RPluginInfo getPluginInfo(); };</span></pre> </div> <p> </p> <p>浠庝笂榪版簮鐮佸彲浠ョ湅鍑猴紝閫氳繃Qt鐨凱lguin鏈哄埗灝咰++鐨勭被鏆撮湶緇橨avaScript錛屼粠鑰屽湪JavaScript涓嬌鐢–++鐨勫姛鑳姐傚涓嬪浘鎵紺轟負鍦≦CAD涓氳繃JavaScript璋冪敤C++鏉ユ樉紺轟竴涓笁緇磋鍥劇殑紿楀彛銆?/p> <p><a ><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="wps_clip_image-25228" src="https://images2018.cnblogs.com/blog/534255/201806/534255-20180621232154829-361057710.png" alt="wps_clip_image-25228" width="577" height="455" border="0" /></a></p> <h2>4.Conclusion</h2> <p>緇間笂鎵榪幫紝QCAD浜屾寮鍙戠殑鏂瑰紡涓昏鏄互JavaScript涓轟富銆傚鏋滆鍦≦CAD涓嬌鐢–++錛屾垨鑰呮槸浣跨敤C++鐨勭涓夋柟搴擄紝鍙兘鏄皢鐩稿叧鐨凜++綾繪毚闇茬粰JavaScirpt錛岃繖鏍峰紑鍙戞墠鏄渶綆鍗曠殑銆傚鏋滅函鐢–++寮鍙戯紝涓浜涗氦浜掑姛鑳芥槸灝佽鍦↗avaScript涓紝鍙嶈屾晥鐜囦笉楂樸?/p> <p>閫氳繃鍦≦CAD涓嬌鐢∣penCASCADE涔嬬被鐨勪笁緇村嚑浣曞唴鏍革紝鍙互瀹炵幇涓浜涘緩妯°佸嚭鍥劇殑鍔熻兘銆?/p> <h2>5.References</h2> <p>1. <a >https://www.qcad.org/doc/qcad/latest/developer/_menus_and_tool_bars.html</a></p> <p>2. <a >https://www.qcad.org/doc/qcad/latest/developer/index.html#what_is</a></p> <p>3. <a >https://www.qcad.org/rsforum/viewforum.php?f=30&sid=8621b8249232845e54252ef7fa6b34ae</a></p> <p>4. JavaScript 楂樼駭紼嬪簭璁捐</p> <p>5. C++ GUI Programming with Qt<br /><br /></p><div class="hvzpftn" id="cnblogs_post_body" class="blogpost-body" style="margin: 0px 0px 20px; word-break: break-word; font-family: "Helvetica Neue", Helvetica, Verdana, Arial, sans-serif; background-color: #ffffff;"><div class="hvzpftn" id="MySignature" style="margin: 0px;"><hr style="margin: 0px; padding: 0px;" /><h5>涓轟簡鏂逛究澶у鍦ㄧЩ鍔ㄧ涔熻兘鐪嬪埌鎴戠殑鍗氭枃鍜岃璁轟氦嫻侊紝鐜板凡娉ㄥ唽寰俊鍏紬鍙鳳紝嬈㈣繋澶у鎵弿涓嬫柟浜岀淮鐮佸叧娉ㄣ?/h5><img title="OpenCASCADE鍏紬鍙鳳細寮鏀?鍒嗕韓-涔愯叮錛歄PEN-SHARE-FUN" border="0" alt="Shing Liu(eryar@163.com)" src="https://files.cnblogs.com/files/opencascade/qrcode_occ.gif" width="200" height="200" style="margin: 0px; padding: 0px; border: 0px; background-image: none; display: inline;" /><hr style="margin: 0px; padding: 0px;" /></div><div style="margin: 0px; clear: both;"></div><div class="hvzpftn" id="blog_post_info_block" style="margin: 20px 0px 0px;"><div class="hvzpftn" id="BlogPostCategory" style="margin: 0px 0px 10px; color: #666666;"></div></div></div><p> </p><img src ="http://www.shnenglu.com/eryar/aggbug/215735.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/eryar/" target="_blank">eryar</a> 2018-06-21 23:28 <a href="http://www.shnenglu.com/eryar/archive/2018/06/21/QCAD_Plugin.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>緙栬瘧QCADhttp://www.shnenglu.com/eryar/archive/2018/06/03/qcad.htmleryareryarSun, 03 Jun 2018 12:53:00 GMThttp://www.shnenglu.com/eryar/archive/2018/06/03/qcad.htmlhttp://www.shnenglu.com/eryar/comments/215698.htmlhttp://www.shnenglu.com/eryar/archive/2018/06/03/qcad.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/215698.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/215698.html緙栬瘧QCAD

eryar@163.com

鐩墠寮婧愮殑浜岀淮CAD鏈塓CAD銆丩ibreCAD絳夛紝涓擫ibreCAD鍙互璇存槸QCAD鐨勫垎鏀増鏈傚姣旇繖嬈懼紑婧愯蔣浠訛紝鍙戠幇QCAD鐨勫姛鑳戒笌鎿嶄綔涔犳儻鍜孉utoCAD鏇存帴榪戙侺ibreCAD鏄函C++寮鍙戯紝鑰孮CAD浣跨敤浜哘t鐨凷cript妯″潡錛屼嬌鐢ㄤ簡C++鍜孞avascript鑴氭湰涓ょ寮鍙戞柟寮忋傛垜瑙夊緱浣跨敤鑴氭湰鏉ユ墿灞曞姛鑳芥瘮綰疌++寮鍙戞晥鐜囦細楂樼偣錛屽洜涓鴻繖浜涘紑婧愰」鐩簮鐮侀兘寰堝ぇ錛岀紪璇戞瘮杈冭姳鏃墮棿銆傚鏋滀嬌鐢ㄨ剼鏈潵寮鍙戠殑璇濓紝娌℃湁緙栬瘧鏃墮棿錛屽彲浠ヨ竟鍐欒剼鏈竟嫻嬭瘯錛屽緢鏂逛究銆?/p>

涓嬮潰涓や釜鍒嗗埆鏄疞ibreCAD鍜孮CAD涓樉紺哄浘褰㈠睘鎬х殑鐣岄潰錛屽彲浠ョ湅鍒癚CAD鎰熻鏇村ソ銆?/p>

wps_clip_image-25075

Figure 1. LibreCAD Main GUI

wps_clip_image-10281

Figure 2. QCAD Main GUI

QCAD鐨勭紪璇戝緢綆鍗曪紝浠?https://github.com/qcad/qcad 涓嬭澆婧愮爜鍚庯紝灝卞彲浠ョ洿鎺ョ紪璇戜簡銆傚叾渚濊禆鐨勭浉鍏崇涓夋柟搴撻兘宸茬粡鍖呭惈鍦ㄦ簮鐮佷腑銆備笅闈㈠氨浠ュ湪Windows鎿嶄綔緋葷粺涓嬌鐢╒S2008鏉ョ紪璇慟CAD-3.20.1.2涓轟緥鏉ヨ鏄庡叾緙栬瘧闇瑕佹敞鎰忕殑闂銆傝冭檻鍒癚t4鐩稿叧鐨刣ll鏂囦歡杈冨皯錛屾墍浠ラ夋嫨Qt4.8.6鍜孷isual Studio2008鏉ョ紪璇慟CAD銆?/p>

鍦╒S涓嬌鐢≦t鍙互浣跨敤QtVSAddin錛屽畨瑁呭ソQtVSAddin鍚庝細鍦╒S鐨勮彍鍗曚笂鍑虹幇涓涓猀t鑿滃崟錛?/p>

wps_clip_image-3384

Figure 3. QtVSAddin Menu in VS2008

浠嶲t鎻掍歡鐨勮彍鍗曚腑鐨凮pen Qt Project File鏉ユ墦寮qcad婧愮爜鏂囦歡涓殑qcad.pro錛屼細鐢熸垚qcad.sln鐨刅S瑙e喅鏂規鏂囦歡錛屽茍鍦╒S2008鎵撳紑浜嗚В鍐蟲柟妗堛?/p>

wps_clip_image-7778

Figure 4. QCad source code in VS2008

緙栬瘧鍒癛ScriptHandlerEcma.cpp鏂囦歡鏃訛紝閬囧埌鍑犱釜QPrinterInfo闈欐佸嚱鏁扮殑闂錛屽洜涓簈cad-3.20.1.2涓帹鑽愪嬌鐢≦t5.5.1錛岃岃繖鍑犱釜闈欐佸嚱鏁版槸浠嶲t5.3鐗堟湰鎵嶅紩鍏ョ殑銆傛墍浠ユ壘鍒癚t5.3涓浉鍏崇殑婧愮爜錛屾妸鍏充簬QPrinterInfo鐨勫嚑涓潤鎬佸嚱鏁板湪榪欓噷閲嶅啓銆備粠瀛楅潰涓婄湅榪欏嚑涓嚱鏁版槸涓庢墦鍗扮浉鍏崇殑錛屽鏋滀笉浣跨敤鎵撳嵃鐩稿叧鍔熻兘錛屽彲浠ョ洿鎺ユ妸榪欏嚑涓敊璇敞閲婃帀銆?/p>

鍥犱負qcad涓庣晫闈㈢浉鍏崇殑鍔熻兘閮芥槸鐢↗avaScript鑴氭湰瀹炵幇錛屾墍浠ヨ繕闇瑕佺紪璇慟t鐨勮剼鏈疄鐜般傛壘鍒版簮鐮佺殑src鐩綍涓殑3rdparty鏂囦歡澶逛腑涓嶲t鐗堟湰瀵瑰簲鐨剄t-labs-qtscriptgenerator錛岄噷闈細宸茬粡鐢熸垚浜哣S鐨勮В鍐蟲柟妗堛傜洿鎺ョ敤VS鎵撳紑瑙e喅鏂規錛屽叏閮ㄧ紪璇戝嵆鍙?/p>

wps_clip_image-13200

wps_clip_image-15602

wps_clip_image-7482

 Figure 5.緙栬瘧qt script

緙栬瘧鎴愬姛鍚庯紝鏂囦歡閮戒細鐢熸垚鍦ㄦ寚瀹氱殑鐩綍涓紝鐩存帴鎵撳紑婧愮爜涓嬮潰鐨刣ebug鏂囦歡涓殑qcad.exe鍗沖彲浠ヨ繍琛孮CAD浜嗐?/p>

wps_clip_image-16781

Figure 6. 榪愯緙栬瘧鐨凲CAD

 



涓轟簡鏂逛究澶у鍦ㄧЩ鍔ㄧ涔熻兘鐪嬪埌鎴戠殑鍗氭枃鍜岃璁轟氦嫻侊紝鐜板凡娉ㄥ唽寰俊鍏紬鍙鳳紝嬈㈣繋澶у鎵弿涓嬫柟浜岀淮鐮佸叧娉ㄣ?/h5>Shing Liu(eryar@163.com)


eryar 2018-06-03 20:53 鍙戣〃璇勮
]]>
dimradius by AutoLisp in AutoCADhttp://www.shnenglu.com/eryar/archive/2017/05/18/214947.htmleryareryarThu, 18 May 2017 13:33:00 GMThttp://www.shnenglu.com/eryar/archive/2017/05/18/214947.htmlhttp://www.shnenglu.com/eryar/comments/214947.htmlhttp://www.shnenglu.com/eryar/archive/2017/05/18/214947.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/214947.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/214947.htmldimradius by AutoLisp in AutoCAD

eryar@163.com

鏈榪戝湪寮鍙戜竴涓嚜鍔ㄥ嚭鍥劇▼搴忥紝浠嶱DMS妯″瀷涓彇鏁版嵁鍚庯紝緇忚繃澶勭悊鐢熸垚AutoCAD鐨勫浘綰搞傚叾涓秹鍙婂埌涓涓棶棰樺氨鏄浣曞敖閲忎嬌紼嬪簭涓嶢utoCAD浣庤﹀悎錛屽敖閲忎笉浣跨敤絎笁鏂瑰簱鐨勬儏鍐典笅錛屽疄鐜版暟鎹殑浼犻掋?

鏈寮濮嬫兂鍒版槸鐢∣DA(Open Design Alliance)鐨凞WGdirect搴撴潵鐩存帴鐢熸垚DWG鏂囦歡錛屽茍涓擯DMS涓氨鏄嬌鐢ㄨ繖涓簱鏉ョ敓鎴怐WG鏂囦歡鐨勩侱WGdirect鐨勭敤娉曚笌AutoCAD .Net鐨勬帴鍙e悕縐板熀鏈竴鑷達紝鐢ㄦ硶涔熺浉鍚岋紝浣嗘槸榪欐牱灝卞紩鍏ヤ簡絎笁鏂瑰簱銆?

榪樻湁涓縐嶆柟娉曞氨鏄嬌鐢ˋutoLisp鑴氭湰鏉ョ敓鎴愬浘綰搞傝繖鏍風殑璇濓紝紼嬪簭鍙渶瑕佺敓鎴愪竴涓狝utoLisp鑴氭湰鏂囦歡錛屾枃浠朵腑鍖呭惈鍒涘緩鍥懼艦鐨勫懡浠ゃ侫utoLisp鑴氭湰涓嶱DMS鐨凱ML綾諱技錛岄兘闇瑕佷竴涓В鏋愭墽琛岀殑鐜錛屽嵆PML渚濊禆PDMS騫沖彴鎵嶈兘榪愯錛孉utoLisp渚濊禆AutoCAD騫沖彴銆傚鏋滀嬌鐢ˋutoLisp錛岀▼搴忎笉渚濊禆DWG鐩稿叧鐨勭涓夋柟搴擄紝鍙渶瑕佺敓鎴愪竴涓枃鏈枃浠躲傚喅瀹氫嬌鐢ˋutoLisp鍚庯紝榪樻湁涓涓棶棰橈紝灝辨槸濡備綍鍦ㄥ惎鍔ˋutoCAD鑳借嚜鍔ㄥ姞杞界敓鎴愮殑AutoLisp鏂囦歡鍘葷敓鎴愬浘綰搞?

浠庣綉涓婃煡鍒拌嚜鍔ㄥ姞杞界▼搴忕殑鏂規硶錛欰bout Auto-Loading and Running AutoLISP Routines錛?

http://help.autodesk.com/view/ACD/2015/ENU/?guid=GUID-FDB4038D-1620-4A56-8824-D37729D42520 錛屽彂鐜頒嬌鐢╝caddoc.lsp鐨勬柟娉曟渶鏂逛究銆傛柟娉曞涓嬶細

1. 浣跨敤涓涓ā鏉緿WG鏂囦歡Template.dwg錛?

2. 鍦ㄦā鏉緿WG鏂囦歡Template.dwg鐩稿悓鐨勭洰褰曚腑錛屾斁涓涓猘caddoc.lsp鑴氭湰鏂囦歡錛屽叾涓唴瀹瑰彲浠ュ弬鑰冨涓嬫柟寮忥細

wps7FEA.tmp

3. 紼嬪簭鐢熸垚涓涓剼鏈枃浠秏yapp.lsp鍒癮caddoc.lsp鐨勬枃浠跺す涓紝鐒跺悗鍐嶆墦寮妯℃澘DWG鏂囦歡Template.dwg銆?

緇忚繃涓婅堪澶勭悊錛岀▼搴忓湪鎵撳紑妯℃澘DWG鏂囦歡鐨勬椂鍊欎細鍚姩AutoCAD錛屽惎鍔ˋutoCAD鐨勬椂鍊欎細鍔犺澆acaddoc.lsp鏂囦歡錛屽湪acaddoc.lsp涓張浼氬姞杞絤yapp.lsp錛岃繖鏍峰氨浼氭墽琛宮yapp.lsp涓殑鍛戒護錛岃嚜鍔ㄧ敓鎴愬浘綰鎬簡銆?

鍥懼艦鐨勭敓鎴愬彲浠ヤ嬌鐢ˋutoCAD涓殑鍛戒護錛屽鐢熸垚鐩寸嚎鍙互浣跨敤line錛岀敓鎴愬渾鍙互浣跨敤circle錛岀瓑絳夈傚鐢熸垚鐨勫浘褰㈣繘琛屾爣娉ㄧ殑鏃跺欙紝鍙戠幇綰挎ф爣娉ㄥ緢鏂逛究浣跨敤鍛戒護鑷姩鐢熸垚錛屼絾鏄兂鏍囨敞鍗婂緞鎴栫洿寰勭殑鏃跺欙紝涓鐩存病鏈夋祴璇曟垚鍔熴傚悗鏉ユ祴璇曟垚鍔熷悗錛屽皢榪欎簺鍛戒護璁頒笅鏉ワ紝鏂逛究鏌ヨ銆?

;; create a circle at (0,0,0) and radius is 8
(setq aCenter (list 0 0 0))
(setq aRadius 8)
(command "circle" aCenter aRadius "")
;; remember the circle and dimradius
(setq aCircle (entlast))
(setq aPoint (polar aCenter 45 aRadius))
(setq aDim (cons aCircle (list aPoint)))
(command "dimradius" aDim aPoint)
;; zoom all
(command "zoom" "e")

鎵撳紑Template.dwg鐨勬椂鍊欙紝浼氳嚜鍔ㄧ敓鎴愬涓嬪唴瀹癸細

wps7FFB.tmp

浣跨敤AutoLisp鑴氭湰鏂囦歡鏉ヤ綔涓烘暟鎹氦鎹㈢殑鏂瑰紡鏉ュ紑鍙戠▼搴忥紝鍙互浣胯嚜宸辯殑紼嬪簭涓嶄緷璧朌WG璇誨啓鐩稿叧鐨勭涓夋柟搴擄紝浣跨▼搴忔洿紼沖畾銆?

浣跨敤AutoLisp鏉ヨ嚜鍔ㄧ敓鎴愭爣娉ㄧ殑鏃跺欙紝綰挎ф爣娉ㄥ緢瀹規槗鐢熸垚錛屽彧闇瑕佹寚瀹氬嚑涓偣鍗沖彲銆傚彲鏄敓鎴愬崐寰勬垨鐩村緞鏍囨敞鏁版嵁鏃訛紝鍥犱負闇瑕侀夋嫨鍦嗗姬錛孉utoLisp涓嶆槸閭d箞鐩磋銆?



eryar 2017-05-18 21:33 鍙戣〃璇勮
]]>
OpenSceneGraph in ActiveX by ActiveQthttp://www.shnenglu.com/eryar/archive/2016/11/11/214404.htmleryareryarFri, 11 Nov 2016 15:32:00 GMThttp://www.shnenglu.com/eryar/archive/2016/11/11/214404.htmlhttp://www.shnenglu.com/eryar/comments/214404.htmlhttp://www.shnenglu.com/eryar/archive/2016/11/11/214404.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/214404.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/214404.htmlOpenSceneGraph in ActiveX by ActiveQt

eryar@163.com

Abstract. Qt’s ActiveX and COM support allows Qt for Windows developers to access and use ActiveX controls and COM objects provided by any ActiveX server in their Qt applications. Make their Qt application available as COM servers, with any number of Qt objects and widgets as COM objects and ActiveX controls. Make OpenSceneGraph to ActiveX controls then you can use it in other place, like IE.

Key Words. OpenSceneGraph, ActiveX, COM, ActiveQt

1.Introduction

ActiveX鏄竴涓紑鏀劇殑闆嗘垚騫沖彴錛屼負寮鍙戜漢鍛樸佺敤鎴峰拰Web鐢熶駭鍟嗘彁渚涗簡涓涓揩閫熻岀畝渚跨殑鍦↖nternet 鍜孖ntranet鍒涘緩紼嬪簭闆嗘垚鍜屽唴瀹圭殑鏂規硶銆備嬌鐢ˋcitveX鍙互杞繪澗鏂逛究鍦板湪Web欏甸潰涓彃鍏ュ濯掍綋鏁堟灉銆佷氦浜掑紡瀵硅薄鍙婂鏉傜▼搴忋傜紪鍐欑殑ActiveX鎺т歡鍙互鍦ㄤ笉鍚岀殑紼嬪簭涓婅繍琛岋紝濡侷nternet Explorer, Visual Basic, MFC- and ATL-based containters絳夌瓑銆?

鏈枃灝濊瘯浣跨敤Qt鐨凙ctiveQt妯″潡灝哋penSceneGraph灝佽鎴怉ctiveX鎺т歡錛屽茍鍦↖nternet Explorer涓樉紺哄嚭涓夌淮妯″瀷銆?

2.ActiveQt

涔犳儻浜嗙敤Qt灝佽鐨勫璞★紝鐢ㄧ潃鑸掓湇銆俀t鐨刉indows鍟嗕笟鐗堟湰鍜屽紑婧愮増鏈兘鎻愪緵浜咥ctiveQt妗嗘灦錛屼嬌鐢ㄨ繖涓粍浠舵垜浠彲浠ュ湪Qt涓嬌鐢ˋctiveX鎺т歡錛屽茍涓斾篃鍙互寮鍙戝熀浜嶲t鐨凙ctiveX鎺т歡銆侫ctiveQt鍖呭惈浜嗕袱涓粍浠禥AxContainter鍜孮AxServer錛?

v QAxContainer鍏佽鎴戜滑浣跨敤COM瀵硅薄錛屽儚浣跨敤Excel鐨凜OM瀵硅薄錛屽氨鍙互瀵笶xcel榪涜璇誨啓浜嗭紱

v QAxServer鍙互灝嗘垜浠啓鐨凲t鎺т歡瀵煎嚭涓篊OM瀵硅薄鎴栬匒ctiveX鎺т歡銆?

浣跨敤ActiveQt鏉ョ紪鍐橝ctiveX鎺т歡榪樻槸瑕佺畝鍗曞緢澶氱殑銆?

3.OpenSceneGraph

OpenSceneGraph鏄OpenGL闈㈠悜瀵硅薄鐨勫皝瑁咃紝浣跨敤OpenSceneGraph鍙互鏂逛究鍦板涓夌淮鍦烘櫙榪涜澶勭悊錛屽彲浠ョ敤浜庝笁緇村彲瑙嗗寲錛屼豢鐪熺瓑棰嗗煙銆傚洜涓轟篃鏄函C++寮鍙戯紝鎵浠ヤ駭鐢熶簡灝哋penSceneGraph緙栧啓鎴怉ctiveX鎺т歡鐨勬兂娉曪紝榪欐牱灝卞彲浠ュ湪Web涓婃潵鎿嶄綔涓夌淮鍦烘櫙浜嗐?

4.Example

棣栧厛鍦╒isual Studio涓垱寤轟竴涓狝ctiveQt Server欏圭洰錛屽涓嬪浘鎵紺猴細

wpsDE63.tmp

鎺ヤ笅鏉ヤ嬌鐢╫sgQt妯″潡鏉ュ湪Qt涓嬌鐢∣penSceneGraph錛屽彧闇瑕佸鍔犱竴涓垵濮嬪寲鍑芥暟錛屼唬鐮佸涓嬫墍紺猴細

void osgActiveX::init()
{
    osgQt::initQtWindowingSystem();

    myRootNode = new osg::PositionAttitudeTransform();

    myRootNode->addChild(osgDB::readNodeFile("d:/test.stl"));

    myViewer = new osgViewer::Viewer();
    myViewer->addEventHandler(new osgGA::StateSetManipulator(myViewer->getCamera()->getOrCreateStateSet()));
    myViewer->addEventHandler(new osgViewer::StatsHandler());
    myViewer->setCameraManipulator(new osgGA::TrackballManipulator());
    myViewer->setSceneData(myRootNode);

    osgQt::setViewer(myViewer);

    myOsgWidget = new osgQt::GLWidget(this);
    myGraphicsContext = new osgQt::GraphicsWindowQt(myOsgWidget);

    myViewer->getCamera()->setViewport(0, 0, myOsgWidget->width(), myOsgWidget->height());
    myViewer->getCamera()->setProjectionMatrixAsPerspective( 30.0f, static_cast<double>(myOsgWidget->width())/static_cast<double>(myOsgWidget->height()), 1.0f, 10000.0f );
    myViewer->getCamera()->setGraphicsContext(myGraphicsContext);

    setCentralWidget(myOsgWidget);
}

緙栬瘧鐢熸垚涓涓狝ctiveX鎺т歡鍚庯紝鍐嶅啓涓涓狧TML鏂囦歡鏉ユ祴璇曠敓鎴愮殑緇撴灉錛屽叾涓璈TML鏂囦歡涓殑涓昏鍐呭濡備笅錛?

<object ID="OsgActiveX" CLASSID="CLSID:450B2B35-9AC6-4FCD-A883-2ACF0FA19A16">
    [Object not available! Did you forget to build and register the server?]
</object>

鍏朵腑CLASSID灝辨槸鐢≦AXFACTORY_DEFAULT瀹忓畾涔夋敞鍐屾椂鐨凣UID銆傜▼搴忚繍琛岀粨鏋滃涓嬪浘鎵紺猴細

wpsDE64.tmp

5.Conclusion

浣跨敤ActiveQt灝哋penSceneGraph灝佽鎴怉ctiveX鎺т歡錛岃繖鏍風殑鎺т歡灝卞彲浠ュ湪澶氫釜紼嬪簭涓嬌鐢紝濡侷E錛孷isual Basic絳夌瓑銆?

絳夌啛緇冪悊瑙ctiveQt鍚庯紝鍙互瀵筄SG鐨凙ctiveX鎺т歡榪涜鎵╁睍錛屼嬌鍏舵湁鏇村己澶х殑涓夌淮浜や簰鍔熻兘銆?

6.References

1. Qt’s ActiveX Framework

2. https://zh.wikipedia.org/wiki/ActiveX

 



eryar 2016-11-11 23:32 鍙戣〃璇勮
]]>
Windows7 Debug Testhttp://www.shnenglu.com/eryar/archive/2016/04/09/213223.htmleryareryarSat, 09 Apr 2016 09:44:00 GMThttp://www.shnenglu.com/eryar/archive/2016/04/09/213223.htmlhttp://www.shnenglu.com/eryar/comments/213223.htmlhttp://www.shnenglu.com/eryar/archive/2016/04/09/213223.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/213223.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/213223.htmlWindows7 Debug Test

eryar@163.com

1.Introduction

鍦ㄩ儊澶у笀鐨勫獎鍝嶄笅錛屽緢鏃╀箣鍓嶄拱浜嗘湰鐜嬬埥鑰佸笀鐨勩婃眹緙栬璦銆嬶紝鍙儨涓鐩撮棽緗紝浠婂ぉ緇堜簬寰楃┖錛屽彲浠ュ涔犺搗鏉ヤ簡銆備負浜嗕嬌瀛︿範鏁堟灉鏇村ソ錛岃繕鏄啓鐐逛笢瑗胯褰曚笅鏉ワ紝涓鏂歸潰宸╁浐涓嬬煡璇嗙偣錛屼竴鏂歸潰璧峰埌涓涓洃鐫d綔鐢ㄣ?

姣曠珶涓嶆槸璁$畻鏈轟笓涓氱鐝嚭韜紝榪欎簺璁$畻鏈哄熀紜鐭ヨ瘑鍙湁闈犺嚜瀛︺傛剰璇嗗埌姹囩紪鐨勯噸瑕佹ф槸浠庡ぇ甯堝彲浠ュ弽姹囩紪鍜岄嗗悜涓浜涜蔣浠跺紑濮嬬殑銆傛眹緙栧湪Debug鐨勮繃紼嬩腑涔熸湁閲嶈浣滅敤錛屽鍦―ebug鏃剁湅鍒拌繖縐嶇晫闈紝鎬繪槸鏈夋兂鐞嗚В鍏舵剰涔夌殑濂藉蹇冿細

wps_clip_image-15646

Figure 1. Disassembly and Registers in Visual Studio

閫氳繃鍙嶆眹緙栦唬鐮侊紝瀵圭▼搴忕殑榪愯鎯呭喌鏇村姞娓呮櫚銆傚涔犳眹緙栫殑涓や釜鐩殑錛氬厖鍒嗚幏寰楀簳灞傜紪紼嬬殑浣撻獙錛屾繁鍒葷悊瑙f満鍣ㄨ繍琛岀▼搴忕殑鏈虹悊銆傜煡閬撲簡鏉ヨ儳鍘昏剦錛屽湪搴旂敤鐨勮繃紼嬩腑鎵嶈兘鏇村姞鑷俊銆?

鏈枃涓昏浠嬬粛鍦╓indows7涓繍琛宒ebug錛屽茍鍦╠ebug紼嬪簭涓墽琛屾眹緙栦唬鐮侊紝浠庤屾柟渚跨悊璁虹煡璇嗙殑瀛︿範銆?

2.Run Debug in Windows7 

Debug鏄疍OS, Windows鎻愪緵鐨勫疄妯″紡(8086)紼嬪簭鐨勮皟璇曞伐鍏鳳紝浣跨敤瀹冨彲浠ユ煡鐪婥PU鍚勭瀵勫瓨鍣ㄣ佸唴瀛樻儏鍐靛拰鍦ㄦ満鍣ㄧ爜綰ц窡韙▼搴忕殑榪愯銆傚洜涓篸ebug紼嬪簭鏄?6浣嶇殑錛屽湪64浣嶇殑Windows7涓棤娉曡繍琛岋紝鎵浠ユ牴鎹綉涓婄殑鏂規硶錛屽厛瀹夎涓涓狣OS妯℃嫙鐜錛屽啀榪愯debug銆?

鍒嗗埆涓嬭澆宸ュ叿DOS BOX鍜?2浣嶆満鍣ㄤ笂鐨刣ebug錛岃繖閲岀粰鍑篋OSBOX鍜孧ASM錛屽叾涓璂ebug鍖呭惈鍦∕ASM涓?

wps_clip_image-27561

Figure 2. DOSBox for Debug

瀹夎濂紻OSBox鍚庯紝灝哅ASM鏀懼埌D鐩樹腑錛岃繍琛屽涓嬪懡浠ゆ潵榪愯Debug錛?

mount c d:\MASM 

c: 

debug 

-

灝卞彲浠ユ樉紺篊PU涓殑鐩稿叧淇℃伅錛屽涓嬪浘鎵紺猴細

wps_clip_image-32082

Figure 3. Debug in DOSBox

Debug鐨勫懡浠ゆ瘮杈冨錛屼笅闈㈢畝鍗曚粙緇嶅嚑涓父鐢ㄧ殑錛?

v R鍛戒護錛氭煡鐪嬨佷慨鏀笴PU瀵勫瓨鍣ㄧ殑鍐呭錛?

v D鍛戒護錛氭煡鐪嬪唴瀛樹腑鐨勫唴瀹癸紱

v A鍛戒護錛氫互姹囩紪鎸囦護鐨勬牸寮忓湪鍐呭瓨涓啓鍏ヤ竴鏉℃満鍣ㄦ寚浠わ紱

v T鍛戒護錛氭墽琛屼竴鏉℃満鍣ㄦ寚浠わ紱

2.1 R鍛戒護

CPU鐨勫瘎瀛樺櫒鏈堿X錛孊X錛孋X錛孌X錛孋S錛孖P絳夛紝閫氳繃R鍛戒護錛屽彲浠ユ煡鐪嬭繖浜涘瘎瀛樺櫒涓殑淇℃伅銆傝嫢瑕佷慨鏀逛竴涓瘎瀛樺櫒鐨勫鹼紝姣斿AX涓殑鍊鹼紝鍙敤R鍛戒護鍚庡姞瀵勫瓨鍣ㄥ悕鏉ヨ繘琛岋紝杈撳叆r ax鍚庡洖杞︼紝鍦細鎻愮ず鍚庤緭鍏ヤ竴涓暟鍊煎嵆鍙?

wps_clip_image-15649

Figure 4. Modify AX by R command

鍙互閲囩敤鍚屾牱鐨勬柟寮忔潵淇敼鍏朵粬瀵勫瓨鍣ㄤ腑鐨勫唴瀹癸紝濡侷P錛孋S絳夈?

2.2 D鍛戒護

Debug鐨凞鍛戒護鍙互鏌ョ湅鍐呭瓨涓殑鍐呭錛岀洿鎺ヨ緭鍏鍛戒護鍚庯紝浼氱粰鍑洪粯璁ゅ唴瀛樺湴鍧鐨勪俊鎭紝濡備笅鍥炬墍紺猴細

wps_clip_image-5542

Figure 5. D command

涔熷彲浠ョ敤“d 孌靛湴鍧:鍋忕Щ鍦板潃”鏉ュ垪鍑烘寚瀹氬唴瀛樺崟鍏冧腑鐨勪俊鎭紝濡備笅鍥炬墍紺猴細

wps_clip_image-17178

Figure 6. D command 

2.3 A鍛戒護

Debug鐨凙鍛戒護浠ユ眹緙栨寚浠ゅ艦寮忓湪鍐呭瓨涓啓鍏ユ満鍣ㄦ寚浠ゃ傝繖鏍峰氨鍙互鏂逛究嫻嬭瘯姹囩紪浠g爜鐨勬晥鏋溿傚涓嬪浘鎵紺哄悜1000:0涓啓鍏ユ眹緙栨寚浠わ細

wps_clip_image-20324

Figure 7. Write Assembly Code by A Command

濡備笂鍥炬墍紺猴紝鍦ˋ鍛戒護鍚庤窡涓婂湴鍧錛岀劧鍚庡氨鍙互鍚戠浉搴斿湴鍧涓啓鍏ユ眹緙栨寚浠ゃ傚啀鐢―鍛戒護鏌ョ湅鍐呭瓨鏃訛紝灝卞彲浠ョ湅鍒扮浉搴旂殑鏈哄櫒鐮併傛湁浜嗘眹緙栦唬鐮侊紝濡備綍榪愯鍛紵闇瑕佺敤鍒癟鍛戒護銆?

2.4 T鍛戒護

T鍛戒護鐢ㄤ簬鎵цCS:IP鎸囧悜鐨勫唴瀛樺崟鍏冨鐨勬寚浠ゃ傛墍浠ヨ鎵цA鍛戒護鍐欑殑姹囩紪鎸囦護錛岄渶瑕佸厛閫氳繃R鍛戒護淇敼CS鍜孖P瀵勫瓨鍣ㄧ殑鍐呭錛屼嬌浠栦滑鎸囧悜A鍛戒護姹囩紪鎸囦護鎵鍦ㄧ殑鍐呭瓨鍦板潃銆傚涓婂浘鎵紺虹殑A鍛戒護鏄皢姹囩紪鎸囦護鍐欏埌1000:0澶勶紝鎵浠ヤ慨鏀笴S鍜孖P浣夸粬浠寚鍚戣繖涓湴鍧錛?

wps_clip_image-32639

Figure 8. Modify CS & IP by R command

涓婂浘鎵紺轟負淇敼CS鍜孖P鍚庯紝閫氳繃R鍛戒護鏄劇ず鍑虹粨鏋溿備慨鏀笴S鍜孖P鍚庯紝灝卞彲浠ヨ繍琛孴鍛戒護鏉ユ墽琛屾垜浠啓鍏ョ殑鎸囦護浜嗐?

wps_clip_image-30584

Figure 8. Run T command

榪愯涓嬈鍛戒護鍚庯紝灝辨墽琛屼簡涓鏉℃眹緙栨寚浠わ紝榪欓噷鎵ц浜唌ov ax,1錛屾墽琛屽悗CS:IP鎸囧悜浜嗕笅鏉℃寚浠ょ殑鍦板潃錛岃繖鏍峰啀鎵ц涓嬈鍛戒護錛屽氨鎵ц浜唌ov bx,2錛屽涓嬪浘鎵紺猴細

wps_clip_image-8485

Figure 9. Run T Command

榪愯T鍛戒護鍚庯紝鎵ц浜唌ov bx,2錛屽皢BX涓殑鍐呭鏀逛負2浜嗐?

3.Conclusion

瀛︿範姹囩紪璇█錛屽鐞嗚В紼嬪簭鐨勮繍琛屾満鐞嗘湁涓竻鏅拌璇嗭紝鏄兂浠庝簨璁$畻鏈虹瀛︽柟闈㈠伐浣滅殑蹇呬笉鍙皯鐨勫熀紜銆?

閫氳繃瀹夎DOSBox浠庤屽湪Windows7涓繍琛宒ebug銆傚茍閫氳繃debug鐨勫嚑涓懡浠ゆ潵鐔熸倝綆鍗曠殑姹囩紪鎸囦護銆傛渶鍚庨氳繃A錛孯鍜孴鍛戒護錛屽湪debug涓繍琛屾眹緙栨寚浠ゃ?

4.References

1. 鐜嬬埥. 姹囩紪璇█. 娓呭崕澶у鍑虹増紺? 2013

Dowload DOSBox & MASM



eryar 2016-04-09 17:44 鍙戣〃璇勮
]]>
Happy New Year 2016http://www.shnenglu.com/eryar/archive/2016/01/01/212585.htmleryareryarFri, 01 Jan 2016 11:38:00 GMThttp://www.shnenglu.com/eryar/archive/2016/01/01/212585.htmlhttp://www.shnenglu.com/eryar/comments/212585.htmlhttp://www.shnenglu.com/eryar/archive/2016/01/01/212585.html#Feedback7http://www.shnenglu.com/eryar/comments/commentRss/212585.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/212585.html 

澶у涔嬪墠鐨勬椂闂撮兘鏄寜澶╂潵榪囩殑錛屾湡鐩肩潃涓澶╀竴澶╁湴蹇揩闀垮ぇ錛屾湡鐩肩潃榪囧勾絀挎柊琛o紝闃栧鍥㈣仛錛屽叾涔愯瀺铻嶏紱

澶у鐨勬椂闂撮兘鏄寜鍛ㄦ潵榪囩殑錛屾牴鎹瘡鍛ㄧ殑璇捐〃鍛ㄨ屽濮嬶紝铏界劧鍗曡皟浣嗕篃鏄嚜鐢辮嚜鍦紝綆鍗曞厖瀹烇紱

鍒氬伐浣滅殑鍑犲勾鏃墮棿鏄寜鏈堟潵榪囩殑錛屾瘡涓湀鍙戝伐璧勭殑鏃跺欒繕鏄緢寮蹇冿紝铏界劧鍦ㄥぇ涓婃搗閭e井钖勭殑钖按鍙兘娣規病鍦ㄦ埧縐熶腑錛屼絾涔熸槸鑷鍏跺姏錛屼竴涓漢鎴樻枟銆?/p>

鐜板湪鐨勬椂闂存槸鎸夊勾鏉ヨ繃鐨勶紝涓騫村張涓騫達紝鎰熸叏涓浜嬫棤鎴愮殑鏃跺欙紝涓騫寸湪鐪間箣闂村凡緇忚繃鍘諱簡銆?br /> 

鍦ㄥ鎵撴嫾鐨勬椂鍏夎櫧鐒跺繖紕岋紝浣嗗灝戞湁浜涙紓娉婃劅銆?012騫磋厞鏈堝ザ濂跺幓涓栵紝娌¤兘鍥炲鐪嬫渶鍚庝竴闈紝寰堟槸閬楁喚銆?015騫磋繕寰堝勾杞葷殑澶х埞鍥犺剳婧㈣鎶㈡晳鏃犳晥涔?/p>

紱誨紑浜嗐傚湪鎰熸叏鐢熷懡鑴嗗急鐨勫悓鏃訛紝涔熷宸ヤ綔銆佺敓媧誨仛浜嗕竴浜涙濊冦備翰浜洪渶瑕侀櫔浼達紝鏈夌殑閿欒繃灝辨槸涓杈堝瓙錛屾專鍐嶅鐨勯挶涔熶簬浜嬫棤琛ャ傚浜庡伐浣滐紝铏界劧涔?/p>

鏄姳鐫寮虹儓鎰忔効鏉ョ殑錛屼絾鏈夋病鏈夊涔犺繘姝ョ殑姘涘洿錛屾劅瑙夊湪榪欑鐜涓嬪涓嶅埌浠涔堢煡璇嗭紝鎵浠ュ仛浜嗗洖瀹剁殑鍐沖畾銆傛瘯涓氬悗鐨勫嚑浠藉伐浣滅粡鍘嗭紝

鏈夌潃寰堝闅懼繕鐨勬棩瀛愩傚垰姣曚笟鏃剁殑闈掓訂錛屽伐浣滃嚑騫村悗鐨勮糠鑼紝鍒扮幇鍦ㄨ兘鎵懼埌鍓嶈繘鐨勬柟鍚戯紝涓璺蛋鏉ヨ鎰熻阿鐨勪漢寰堝銆備竴鐩翠篃寰堝簡騫歌嚜宸辯殑濂借繍姘旓紝搴嗗垢娌℃湁

琚瞾鏈堝彉鎴愯嚜宸辮鍘岀殑浜恒?/p>

 

紱誨榪戠殑宸ヤ綔鏄儸鎰忕殑錛屾瘡澶╁彲浠ョ潯鍒拌嚜鐒墮啋錛屽彲浠ュ悆鍒頒翰浜哄仛鐨勫彲鍙iキ鑿滐紝涓嶇敤鎷呭績鍦版矡娌癸紝涓嶇敤鎸ゅ叕浜ゅ湴閾侊紝榪欐墠鏄鉤娣$敓媧葷殑鏍峰瓙錛?/p>

鐢熶簬蹇ф偅錛屾浜庡畨涔愶紝瀛熷瓙鐨勮繖鍙ヨ瘽涔熸槸寰堟湁閬撶悊鐨勶紝鎵浠ヤ竴鐩翠互鍐檅log鐨勬柟寮忔潵浣胯嚜宸卞繖璧鋒潵銆傜敱浜庡伐浣滃彉鍔ㄧ殑鍘熷洜錛岄渶瑕侀傚簲鏂扮殑鐜錛屼粖騫村彂琛ㄧ殑

blog鐩稿灝戜竴浜涳紝涓嶈繃娣卞害涔熷ぇ涓浜涳紝鏀惰幏涔熸洿澶с傛劅璋㈠墠杈堜滑鐨勯紦鍔卞拰寤鴻錛屼互鍙婁漢鐢熺粡鍘嗙殑鍒嗕韓銆傛劅璋㈡墍鏈夋湁姊︽兂鐨勫弸浜猴紝鐗瑰埆鎰熻阿Yang bin浠庡ぇ鑰佽繙

甯︿竴妗舵補閫佺粰鎴戯紝榪樻槸寰堟劅鍔ㄣ傚彧瑕佸潥鎸侊紝姊︽兂鎬繪槸浼氬疄鐜扮殑錛屽笇鏈涘湪鏂扮殑涓騫撮噷錛屽ぇ瀹墮兘鑳芥ⅵ鎯蟲垚鐪熴?/p>

 

2015騫存壙鎺ヤ簡鍑犱釜灝忛」鐩紝甯屾湜鍦ㄦ柊鐨勪竴騫翠腑鑳藉悎浣滃叡璧€傜戶緇璒PEN CASCADE鐨勫涔狅紝甯屾湜鑳芥湁鏇村鐨凙ha!

瀵岃吹涓嶈兘娣紝璐幢涓嶈兘縐伙紝濞佹涓嶈兘灞堬紝紲濆ぇ瀹舵柊騫村揩涔愶紝鍋氳嚜宸卞枩嬈㈢殑鑷繁銆侶appy New Year! To be what you want to be銆?/p>

macro3d



eryar 2016-01-01 19:38 鍙戣〃璇勮
]]>
std::fstream 涓枃璺緞http://www.shnenglu.com/eryar/archive/2015/04/14/210335.htmleryareryarTue, 14 Apr 2015 11:47:00 GMThttp://www.shnenglu.com/eryar/archive/2015/04/14/210335.htmlhttp://www.shnenglu.com/eryar/comments/210335.htmlhttp://www.shnenglu.com/eryar/archive/2015/04/14/210335.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/210335.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/210335.htmlstd::fstream 涓枃璺緞

eryar@163.com

鐢–++鏉ュ紑鍙戠閬撳嚭鍥劇▼搴廔soAlgo鏃訛紝褰揚CF鏂囦歡鍚嶄腑鍖呭惈涓枃鏃訛紝璇誨彇鏂囦歡浼氬け璐ャ傚皢涓嬮潰鏁版嵁瀛樻垚涓涓畝鍗曟枃浠訛細涓枃.txt  鏀懼埌鐩爣鐩綍涓潵嫻嬭瘯錛?

wps_clip_image-28291

Figure 1 鍖呭惈涓枃鐨勬枃浠?

綆鍗曟祴璇曠▼搴忎唬鐮佸涓嬫墍紺猴細

#include <fstream>
#include 
<cassert>
#include 
<iostream>

int main(int argc, char* argv[])
{
    std::ifstream aFile(argv[
1]);

    assert(aFile.good());

    std::cout 
<< aFile.rdbuf() << std::endl;

    
return 0;
}

騫跺湪Visual Studio鐨勫懡浠ゅ弬鏁頒腑浼犺繘鍘繪枃浠跺悕錛?

wps_clip_image-21877

Figure 2 Set Command Arguments

榪愯紼嬪簭錛屼細寰楀埌濡備笅閿欒鎻愮ず紿楀彛錛?

wps_clip_image-429

Figure 3 assert for the file

榪欐槸鍔犱笂鏂█assert鐨勬晥鏋滐紝鍦―ebug妯″紡涓嬪彲浠ュ緢蹇畾浣嶅埌閿欒錛岃屽湪Release妯″紡涓嬪氨鎶婅繖涓琛屼唬鐮佸拷鐣ヤ簡銆?

鍦ㄧ綉涓婃悳浜嗕笅std::ifstream璇誨彇涓枃鏂囦歡鍚嶇殑鏂囦歡鐨勮В鍐蟲柟妗堬細

v 浣跨敤C璇█鐨勫嚱鏁拌緗垚涓枃榪愯鐜錛?

setlocale(LC_ALL,"Chinese-simplified");

v 浣跨敤STL涓殑鍑芥暟璁劇疆涓虹郴緇熻璦鐜錛?

std::locale::global(std::locale(""));

鍥犱負IsoAlgo浣跨敤浜哠TL鐨凜++錛屾墍浠ラ夋嫨鏂規2銆傚疄鐜頒唬鐮佸涓嬫墍紺猴細

#include <fstream>
#include 
<cassert>
#include 
<iostream>

int main(int argc, char* argv[])
{
    std::locale::global(std::locale(
""));
    std::ifstream aFile(argv[
1]);
    std::locale::global(std::locale(
"C"));

    assert(aFile.good());

    std::cout 
<< aFile.rdbuf() << std::endl;

    
return 0;
}

紼嬪簭榪愯緇撴灉濡備笅鍥炬墍紺猴細

wps_clip_image-11274



eryar 2015-04-14 19:47 鍙戣〃璇勮
]]>
Create views of OpenCASCADE objects in the Debuggerhttp://www.shnenglu.com/eryar/archive/2015/01/31/209695.htmleryareryarSat, 31 Jan 2015 11:16:00 GMThttp://www.shnenglu.com/eryar/archive/2015/01/31/209695.htmlhttp://www.shnenglu.com/eryar/comments/209695.htmlhttp://www.shnenglu.com/eryar/archive/2015/01/31/209695.html#Feedback1http://www.shnenglu.com/eryar/comments/commentRss/209695.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/209695.htmlCreate views of OpenCASCADE objects in the Debugger

eryar@163.com

Abstract. The Visual Studio Natvis framework lets you customize the way Visual Studio displays native types in debugger variable windows such as the Watch, Locals and Data Tips windows. It supersedes the autoexp.dat file that has been used in earlier versions of Visual Studio and offers XML syntax, better diagnostics, versioning, and multiple file support. The container in OpenCASCADE is difficult for debugging, such as TColStd_Array1OfInteger in the TColStd package, .etc. Use the natvis framework to create views of these objects will make it easy for developers to inspect them during debugging and so accelerate the debug process.

Key Words. Visual Studio Natvis, OpenCASCADE

1. Introduction

鍥犱負OpenCASCADE鏃╂湡浣跨敤C寮鍙戯紝鎵浠ヨ嚜瀹氫箟浜嗕竴浜涘鍣ㄧ被錛屽鍖匱ColStd涓殑綾伙紝TColGeom鍖呭強鍖匱opTools涓殑綾葷瓑錛岃繖浜涚被鍦–++涓兘鍙互浣跨敤STL鏉ユ浛浠d簡銆傝繖浜涚被鍦―ebug榪囩▼涓紝寰堥毦鏌ョ湅鍏朵腑鐨勫鹼紝濡俆ColStd_Array1OfInteger錛岃繖涓被鐩稿綋浜巗td::vector<int>錛屼絾鏄疍ebug鏃跺彧鑳界湅鍒版暟鎹殑鎸囬拡錛屼笉瀹規槗鏌ョ湅瀹瑰櫒涓瘡涓厓绱犵殑鍊鹼紝濡備笅鍥?.1鎵紺猴細

wps_clip_image-3641

Figure 1.1 View of TColStd_Array1OfInteger in Locals Window

鐢變笂鍥?.1鍙煡錛屽浜庤繖涓被鐨勫璞★紝Debug鏃跺彧鑳界湅鍒版暟鎹殑璧峰鎸囬拡銆備負浜嗘柟渚胯嚜瀹氫箟綾誨瀷璋冭瘯錛孷isual Studio鍦?012鐗堟湰浠ュ悗錛屽紩鍏ヤ簡Natvis妗嗘灦錛岀敤鏉ユ浛浠e師鏉ョ殑autoexp.dat鏉ヤ負鑷畾涔夌被鍨嬪畾涔夎皟璇曟椂鐨勬暟鎹樉紺恒侼atvis浣跨敤浜哫ML鏂囦歡錛屽彲璇繪ф洿濂斤紝鏄撲簬瀹炵幇銆?

鏈枃浣跨敤Visual Studio鐨凬atvis妗嗘灦錛屾潵瀵筄penCASCADE涓殑涓浜涘鍣ㄧ被鏁版嵁榪涜鍙鍖栵紝鏂逛究寮鍙戣呭OpenCASCADE鐨勮皟璇曘?

2.For Array Container

瀵逛簬OpenCASCADE鐨勫寘TColStd涓殑鏁扮粍綾伙紝瀹氫箟鍏秐atvis濡備笅鎵紺猴細

<Type Name="TColStd_Array1OfInteger">
    
<DisplayString Condition="isAllocated != 1">empty</DisplayString> 
    
<DisplayString>{{size = {myUpperBound - myLowerBound + 1}}}</DisplayString>
    
<Expand>
        
<Item Condition="isAllocated == 1" Name="[size]">myUpperBound - myLowerBound + 1</Item>
        
<ArrayItems Condition="isAllocated == 1">
            
<Size>myUpperBound - myLowerBound + 1</Size>
            
<ValuePointer>(Standard_Integer*)(myStart) + myLowerBound</ValuePointer>
        
</ArrayItems>
    
</Expand>
</Type>

璋冭瘯鏃舵暟鎹樉紺哄涓嬪浘2.1鎵紺猴細

wps_clip_image-9252

Figure 2.1 OpenCASCADE array in Locals Windows

鍚岀悊錛屽彲瀵規鍖呬腑鍏朵粬涓緇存暟緇勪嬌鐢ㄥ悓鏍風殑瑙勫垯錛屽嵆鍙鍏朵腑鐨勬暟鎹彲瑙嗗寲錛屼笌std::vector鏄劇ず鐨勬晥鏋滀竴鏍鳳紝鏂逛究璋冭瘯銆?

3.For List Container

瀵逛簬OpenCASCADE鐨勫寘TColStd涓殑閾捐〃綾伙紝瀹氫箟鍏秐atvis濡備笅鎵紺猴細

<Type Name="TColStd_ListNodeOfListOfInteger">
    
<DisplayString>{{current = {myValue}}}</DisplayString>
    
<Expand>
        
<LinkedListItems>
            
<HeadPointer>this</HeadPointer>
            
<NextPointer>(TColStd_ListNodeOfListOfInteger*)myNext</NextPointer>
            
<ValueNode>this-&gt;myValue</ValueNode>
        
</LinkedListItems>
    
</Expand>
</Type>

<Type Name="TColStd_ListOfInteger">
    
<DisplayString Condition="myFirst == 0">empty</DisplayString>
    
<Expand>
        
<Item Name="first">(TColStd_ListNodeOfListOfInteger*)myFirst</Item>
    
</Expand>
</Type>

璋冭瘯鏃跺浜庣被TColStd_ListOfInteger錛宯atvis璇婃柇璇存壘涓嶅埌綾籘ColStd_ListNodeOfListOfInteger瀹氫箟錛屽綋璺熻釜鍒版綾諱竴涓叿浣撳嚱鏁版椂錛屽氨鍙互鐪嬪埌鍏蜂綋鐨勫間簡錛?

wps_clip_image-12159

Figure 3.1 Natvis gives a Error info

璺熻釜鍒癟ColStd_ListOfInteger鍐呴儴鍚庯紝灝卞彲浠ョ湅鍒扮被TColStd_ListNodeOfListOfInteger涓殑鏁版嵁浜嗭紝浣嗘槸浠嶵ColStd_ListOfInteger鐨勫嚱鏁頒腑鍑烘潵鍚庯紝灝辯湅涓嶅埌浜嗐?

濡傛灉榪欎釜闂瑙e喅浜嗭紝瀵逛簬綾籘opoDS_ListOfShape涓殑鏁版嵁涔熷彲浠ョ敤鍚屾牱鐨勬柟寮忔潵鏄劇ず錛屾瀬澶у湴鏂逛究浜嗗紑鍙戣呭鍏惰皟璇曘傚鏋滀綘瀵規鏈夎В鍐沖姙娉曪紝嬈㈣繋涓嶅悵璧愭暀銆?

wps_clip_image-11017

Figure 3.2 Data view for TColStd_ListNodeOfListOfInteger

鍏堜粠綆鍗曠殑瀹瑰櫒綾葷潃鎵嬶紝瑙e喅鍚庡彲灝員opoDS_ListOfShape涓殑鏁版嵁鏄劇ず鍑烘潵錛屼負OpenCASCADE紼嬪簭鐨勮皟璇曟彁渚涙柟渚褲?

4.Conclusion

Visual Studio 2012鐗堟湰浠ュ悗寮曞叆浜哊atvis妗嗘灦鏉ュ鑷畾涔夌殑綾昏繘琛屽彲瑙嗗寲錛屾柟渚胯皟璇曘侽penCASCADE涓湁寰堝瀹瑰櫒綾葷洿鎺ヤ嬌鐢ㄤ簡鎸囬拡錛岃皟璇曠▼搴忔椂鏁版嵁寰堜笉鐩磋銆傚簲鐢∟atvis鏉ュ涓浜涚被鍦ㄨ皟璇曟椂鐨勮鍥捐繘琛岄厤緗紝鍙互鏂逛究鏌ョ湅鍏朵腑鏁版嵁錛屼嬌OpenCASCADE鐨勮皟璇曟洿杞繪澗銆?

瀵逛簬涓緇存暟緇勭殑natvis瀹氫箟榪樻槸寰堢畝鍗曠殑錛屼絾鏄浜嶭ist鍑虹幇浜嗛棶棰樸傚鏋滆繖涓棶棰樿В鍐充簡錛屽TopoDS_ListOfShape鐨勫彲瑙嗗寲涔熷彲鍋氬悓鏍風殑澶勭悊錛屾柟渚塊犲瀷綆楁硶璋冭瘯銆傝嫢鎮ㄦ湁瑙e喅鏂規錛屾湜涓嶅悵璧愭暀銆?

5. References

1. Create custom views of native objects in the debugger. 

https://msdn.microsoft.com/en-us/library/vstudio/jj620914.aspx

2. Writing debugger type visualizers for C++ using .natvis files

https://code.msdn.microsoft.com/Writing-type-visualizers-2eae77a2#content

3. vczh. C++瀹炵敤鎶宸т箣閰嶇疆Visual C++鐨勮皟璇曞櫒鏄劇ず鏁版嵁緇撴瀯鐨勬牸寮?

http://www.shnenglu.com/vczh/archive/2013/03/21/198665.html

4. stl.natvis in %VSINSTALLDIR%\Common7\Packages\Debugger\Visualizers

5. qt5.natvis in %VSINSTALLDIR%\Common7\Packages\Debugger\Visualizers



eryar 2015-01-31 19:16 鍙戣〃璇勮
]]>
Iterate Files by Tcltkhttp://www.shnenglu.com/eryar/archive/2015/01/18/209566.htmleryareryarSun, 18 Jan 2015 04:08:00 GMThttp://www.shnenglu.com/eryar/archive/2015/01/18/209566.htmlhttp://www.shnenglu.com/eryar/comments/209566.htmlhttp://www.shnenglu.com/eryar/archive/2015/01/18/209566.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/209566.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/209566.htmlIterate Files by Tcltk

eryar@163.com

Abstract. Tcl/Tk provide a programming system for developing and using graphical user interface(GUI) applications. Tcl stands for “tool command language” and is pronounced “tickle”, is a simple scripting language for controlling the extending applications. The blog use Tcl/Tk to iterate all the files for a given directory, this is useful to some automation work, such as change all the file names for a given directory; add copyright info for the source code files.

Key Words. Tcl/Tk, Iterate Files錛岄亶鍘嗘枃浠跺す涓墍鏈夋枃浠?

1. Introduction

Tcl/Tk鏄竴縐嶇敤浜庢槗浜庝嬌鐢ㄧ殑鑴氭湰璇█錛屽彲浠ョ敤鏉ュ紼嬪簭榪涜鎵╁睍鍙婂畬鎴愪竴浜涜嚜鍔ㄥ寲鐨勫伐浣滐紝鍔犱笂鍐呯疆鐨勪竴浜涘懡浠わ紝鍏跺姛鑳借姣擶indows涓殑DOS鐨勬壒澶勭悊鍛戒護鍔熻兘鏇村己澶э紝浣跨敤鏇存柟渚褲俆cl鑴氭湰璇█鏄紑婧愬厤璐圭殑錛屽彲浠ユ柟渚胯幏鍙栦笖鍏嶈垂浣跨敤銆?

OpenCASCADE涓嬌鐢ㄤ簡Tcl/Tk鏉ュ疄鐜頒簡涓涓嚜鍔ㄥ寲嫻嬭瘯浣撶郴銆備嬌鐢ㄥ湪OpenCASCADE涓嬌鐢ㄨ嚜瀹氫箟鐨凾cl鍛戒護錛屽彲浠ュ揩閫熸潵媯楠岀畻娉曠殑緇撴灉銆傞氳繃緙栧啓鑴氭湰鏂囦歡錛屽疄鐜頒簡嫻嬭瘯鐨勮嚜鍔ㄥ寲銆傛墍浠ュ涔犱竴涓婽cl/Tk鑴氭湰璇█錛屽茍鍦ㄥ疄闄呯殑宸ヤ綔涓姞浠ュ簲鐢紝鍙互灝嗕竴浜涙満姊扮殑鍔沖姩浜ょ粰璁$畻鏈鴻嚜鍔ㄥ畬鎴愩?

鏈枃涓昏璇存槑濡備綍浣跨敤Tcl/Tk鏉ラ亶鍘嗘寚瀹氭枃浠跺す涓墍鏈夋枃浠躲傚埄鐢ㄦ鍔熻兘錛屽彲浠ョ◢寰姞浠ユ墿灞曪紝灝卞彲浠ュ畬鎴愪竴浜涘疄闄呯殑閲嶅鍔沖姩銆傚閬嶅巻鎸囧畾鐩綍涓墍鏈夌殑婧愭枃浠舵垨鎸囧畾綾誨瀷鐨勬枃浠訛紝娣誨姞涓婄増鏉冧俊鎭瓑銆?

2. Tcl/Tk Code

瑕侀亶鍘嗘寚瀹氱洰褰曚笅鎵鏈夌殑鏂囦歡錛屽寘鎷瓙鏂囦歡澶癸紝闇瑕佺敤鍒板懡浠lob鍙婁竴涓掑綊鍑芥暟銆傝剼鏈唬鐮佸涓嬫墍紺猴細

#
# Tcl/Tk script to iterate all the files for a given directory.
# eryar@163.com
# 2015-01-18
#


package require Tcl
package require Tk

wm title 
. "Iterate Files"

label 
.labelDirectory -text "Directory "
entry 
.entryDirectory -width 30 -relief sunken -textvariable aDirectory
button 
.buttonDirectory -text "" -command {chooseDirectory .entryDirectory}

button 
.buttonApply -text "Apply" -command {perform $aDirectory}
button 
.buttonCancel -text "Cancel" -command {exit}

grid 
.labelDirectory .entryDirectory .buttonDirectory
grid 
.buttonApply .buttonCancel

# chooseDirectory--
# choose the directory to iterate.

proc chooseDirectory {theEntry} {
    set dir [tk_chooseDirectory 
-initialdir [pwd] -mustexist 1]
    
    
if {[string compare $dir ""]} {
        
$theEntry delete 0 end
        
$theEntry insert 0 $dir
        
$theEntry xview end
    }
}

# perform--
# perform the algorithm.
#

proc perform {theDirectory} {
    puts 
"Iterate all the files in $theDirectory"
    
    
if {[string length $theDirectory< 1} {
        tk_messageBox 
-type ok -icon warning -message "Please select the directory!" -parent .
        
return 
    }
    
    
# process the iterate
    process $theDirectory
}

# process--
# recursion every folder and file.
#

proc process {theFolder} {

    set aFiles [
glob -nocomplain -directory $theFolder *]
    
    
foreach aFile $aFiles {
        
if {[file isfile $aFile]} {
            
# just output the file name here. 
            # you can do something such as rename for the file.

            puts "$aFile \n"
        } 
else {
            process 
$aFile
        }
    }
}

紼嬪簭鐢ㄦ硶涓烘墦寮Tcl瑙i噴鍣紝浣跨敤鍛戒護source鍔犺澆鑴氭湰鏂囦歡錛屽涓嬪浘鎵紺猴細

wps_clip_image-20196

Figure 2.1 Tcl usage

3. Conclusion

閫氳繃搴旂敤Tcl/Tk鏉ヤ綋楠岃剼鏈紪紼嬬殑涔愯叮錛屽茍鍔犳繁瀵筎cl/Tk鐨勭悊瑙c備粠鑰屽OpenCASCADE鐨勬ā鍧桪raw Test Harness鏇村ソ鍦扮悊瑙c?

濡傛灉鏈夌紪紼嬪熀紜錛孴cl/Tk浼氬緢蹇叆闂ㄧ殑銆傚叆闂ㄥ悗錛屽彲浠ュ簲鐢ㄥ叾鐩存帴緙栧啓涓浜涙湁鎰忔濇湁鑴氭湰錛屾潵瀹炵幇涓浜涢噸澶嶅伐浣滅殑鑷姩鍖栥備篃鍙皢Tcl鍔犲叆鍒拌嚜宸辯殑紼嬪簭涓紝澧炲姞紼嬪簭鐨勪簩嬈″紑鍙戝姛鑳姐?

鍙錛岀帺涓鐜╄剼鏈璦錛岃繕鏄潪甯告湁瓚g殑錛?/p>


PDF Version and Script: Iterate Files by Tcl



eryar 2015-01-18 12:08 鍙戣〃璇勮
]]>
AutoCAD File Mergerhttp://www.shnenglu.com/eryar/archive/2015/01/15/AutoCAD_File_Merger.htmleryareryarThu, 15 Jan 2015 11:32:00 GMThttp://www.shnenglu.com/eryar/archive/2015/01/15/AutoCAD_File_Merger.htmlhttp://www.shnenglu.com/eryar/comments/209538.htmlhttp://www.shnenglu.com/eryar/archive/2015/01/15/AutoCAD_File_Merger.html#Feedback3http://www.shnenglu.com/eryar/comments/commentRss/209538.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/209538.htmlAutoCAD File Merger

eryar@163.com

Abstract. There are many drawing files during the ship design or other design process, so somebody want to merge them to one DWG file. The DwgMerger is a AutoCADE plugin developed by AutoCAD .NET, its purpose is to merge all the drawing files, include dwg and dxf format to one drawing paper.

Key Words. AutoCAD, DWG, DXF, Merger, 鍚堝茍

1. Introduction

鍦ㄥ伐紼嬭璁¤繃紼嬩腑錛屼細浜х敓寰堝鍥劇焊銆傚儚鑸硅埗鐢熶駭璁捐鐨勭緋誨嚭鍥撅紝鏈夌殑鍖哄煙鎴栧垎孌典細浜х敓鍑犵櫨寮犵瀛愰浂浠跺浘銆備負浜嗕究浜庡浘綰哥殑綆$悊鍙婃墦鍗幫紝闇瑕佸皢榪欎簺鍥劇焊鍚堝茍鍒頒竴寮犲浘綰鎬笂銆備負姝わ紝鍒╃敤AutoCAD .NET寮鍙戜竴涓皬鎻掍歡DwgMerger錛屾潵瀹炵幇榪欎釜鍔熻兘銆?

鍘熸潵鐩存帴寰楃敤C++寮鍙戜竴涓笉渚濊禆AutoCAD鐨勫悎騫禗XF鏂囦歡鐨勫皬紼嬪簭DxfMerger錛岃瑙侊細http://www.shnenglu.com/eryar/archive/2012/07/12/183053.aspx 銆備絾鏄繖涓▼搴忔湁寰堝灞闄愭э紝濡傚彧鑳藉鐞嗘瘮杈冧綆鐗堟湰鐨凞XF錛涗笉鑳藉鐞咲WG鏍煎紡絳夛紝鎵浠ヨ繜榪熸病鏈夊彂甯冨嚭鏉ャ傝冭檻鍒版湁榪欎簺DXF錛孌WG鏍煎紡鐨勫浘綰哥殑鐢ㄦ埛閮戒細瀹夎AutoCAD錛屾墍浠ュ喅瀹氱洿鎺ヤ嬌鐢ˋutoCAD .NET鏉ュ紑鍙戜竴涓彃浠訛紝榪欐牱灝辨病鏈変粈涔堥檺鍒朵簡銆備笉浠呰兘鍚堝茍DXF鏂囦歡錛岃繕鑳藉悎騫禗WG鏂囦歡銆傚彧瑕佷綘鐨凙utoCAD鑳芥墦寰楀紑鐨勫浘綰告枃浠訛紝搴旇閮借兘榪涜鍚堝茍銆?

紼嬪簭寮鍙戠幆澧冧負AutoCAD2012錛岀▼搴忚繍琛岀幆澧冧負錛欰utoCAD2010, 2012絳夈?

2.Usage

鍥犱負鏄敤AutoCAD .NET寮鍙戠殑錛屾墍浠ョ▼搴忕殑鐢ㄦ硶鍜屽叾浠朅utoCAD .NET鎻掍歡涓鑷淬傛楠ゅ涓嬶細

v 鎵撳紑AutoCAD錛岃緭鍏ュ懡浠わ細netload錛屽涓嬪浘鎵紺猴細

wps_clip_image-14472

v 灝嗙▼搴忓鍒跺埌AutoCAD鐨勫畨瑁呯洰褰曪紝騫跺姞杞紻wgMerger.dll紼嬪簭闆嗭紝濡備笅鍥炬墍紺猴細

wps_clip_image-23031

v 鍔犺澆鎴愬姛鍚庯紝杈撳叆鍛戒護錛歮erge錛屼細鎵撳紑紼嬪簭涓葷晫闈㈠涓嬪浘鎵紺猴細

wps_clip_image-5880

v 鍦ㄦ枃浠跺垪琛ㄤ笂鍙抽敭錛屾坊鍔犺鍚堝茍鐨勫浘綰告枃浠訛紝鍙互閫氳繃娣誨姞鏂囦歡澶圭殑鏂瑰紡錛屼篃鍙互閫氳繃閫夋嫨鏂囦歡鐨勬柟寮忥紝濡備笅鍥炬墍紺猴細

wps_clip_image-9280

v 璁劇疆瑕佸悎騫跺浘綰哥殑灝哄錛岄粯璁ゅ昂瀵鎬負A4澶у皬鐨勶紝鍙互鏍規嵁瀹為檯闇瑕佷慨鏀癸紱

v 璁劇疆鍚堝茍鍚庨檲鍒椾竴琛岀殑鍥劇焊鏁伴噺錛岄粯璁や負姣忚10寮狅紱

v Apply錛?

鐢熸垚鏁堟灉鍥懼涓嬫墍紺猴細

wps_clip_image-30454

 

Download DwgMerger: DwgMerger



eryar 2015-01-15 19:32 鍙戣〃璇勮
]]>
韙剼寮犳湜鐨勬椂鍏?/title><link>http://www.shnenglu.com/eryar/archive/2014/10/27/208687.html</link><dc:creator>eryar</dc:creator><author>eryar</author><pubDate>Mon, 27 Oct 2014 11:48:00 GMT</pubDate><guid>http://www.shnenglu.com/eryar/archive/2014/10/27/208687.html</guid><wfw:comment>http://www.shnenglu.com/eryar/comments/208687.html</wfw:comment><comments>http://www.shnenglu.com/eryar/archive/2014/10/27/208687.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/eryar/comments/commentRss/208687.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/eryar/services/trackbacks/208687.html</trackback:ping><description><![CDATA[<font color="#cc0000" face="寰蔣闆呴粦">                    </font> <blockquote style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 40px; padding-right: 0px"> <blockquote style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 40px; padding-right: 0px"> <p style="margin-bottom: 0px; padding-bottom: 0px; padding-top: 0px; margin-top: 0px"><span style="font-size: 16px; font-family: 'Microsoft YaHei'; color: rgb(0,153,0)"><font color="#cc0000">鏈変竴澶╀綘灝嗙牬铔硅屽嚭錛屾垚闀垮緱姣斾漢浠湡寰呯殑榪樿緹庝附銆?/font> <br />浣嗚繖涓繃紼嬩細寰堢棝錛屼細寰堣緵鑻︼紝鏈夋椂鍊欒繕浼氳寰楃伆蹇冦?/span></p></blockquote></blockquote> <blockquote style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 40px; padding-right: 0px"> <blockquote style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 40px; padding-right: 0px"> <p style="margin-bottom: 0px; padding-bottom: 0px; padding-top: 0px; margin-top: 0px"><span style="color: rgb(102,0,204)"><span style="font-size: 16px; font-family: 'Microsoft YaHei'">闈㈠鐫姹規秾</span><span style="font-size: 16px; font-family: 'Microsoft YaHei'">鑰屾潵鐨勭幇瀹烇紝</span><span style="font-size: 16px; font-family: 'Microsoft YaHei'">瑙夊緱鑷繁娓哄皬鏃犲姏銆?/span></span></p></blockquote></blockquote> <blockquote style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 40px; padding-right: 0px"> <blockquote style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 40px; padding-right: 0px"> <p style="margin-bottom: 0px; padding-bottom: 0px; padding-top: 0px; margin-top: 0px"><span style="font-size: 16px; font-family: 'Microsoft YaHei'"><span style="color: rgb(204,153,51)">浣嗚繖錛屼篃鏄敓鍛界殑涓閮ㄥ垎銆?/span></span><span style="font-size: 16px; font-family: 'Microsoft YaHei'; color: rgb(204,153,51)">鍋氬ソ鐜板湪浣犺兘鍋氱殑錛岀劧鍚庯紝涓鍒囬兘浼氬ソ鐨勩?/span></p></blockquote></blockquote> <blockquote style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 40px; padding-right: 0px"> <blockquote style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 40px; padding-right: 0px"> <p style="margin-bottom: 0px; padding-bottom: 0px; padding-top: 0px; margin-top: 0px"><span style="color: rgb(204,51,204)"><span style="font-size: 16px; font-family: 'Microsoft YaHei'">鎴戜滑閮藉皢瀛ょ嫭鍦伴暱</span><span style="font-size: 16px; font-family: 'Microsoft YaHei'">澶э紝涓嶈瀹蟲曘?/span></span></p></blockquote></blockquote> <p style="margin-bottom: 0px; font-size: 14px; font-family: Arial; padding-bottom: 0px; text-align: left; padding-top: 0px; margin-top: 0px; line-height: 26px"><br /></p> <p style="margin-bottom: 0px; font-size: 14px; font-family: Arial; padding-bottom: 0px; text-align: left; padding-top: 0px; margin-top: 0px; line-height: 26px"><span style="font-size: 16px; font-family: 'Microsoft YaHei'"><span style="white-space: pre"></span>—— 瀵傚湴銆婅府鑴氬紶鏈涚殑鏃跺厜銆?/span></p> <p style="margin-bottom: 0px; font-size: 14px; font-family: Arial; padding-bottom: 0px; text-align: left; padding-top: 0px; margin-top: 0px; line-height: 26px"><span style="font-size: 16px; font-family: 'Microsoft YaHei'"></span> </p> <img src ="http://www.shnenglu.com/eryar/aggbug/208687.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/eryar/" target="_blank">eryar</a> 2014-10-27 19:48 <a href="http://www.shnenglu.com/eryar/archive/2014/10/27/208687.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Try to use Debianhttp://www.shnenglu.com/eryar/archive/2014/09/29/208456.htmleryareryarMon, 29 Sep 2014 14:54:00 GMThttp://www.shnenglu.com/eryar/archive/2014/09/29/208456.htmlhttp://www.shnenglu.com/eryar/comments/208456.htmlhttp://www.shnenglu.com/eryar/archive/2014/09/29/208456.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/208456.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/208456.htmlTry to use Debian

eryar@163.com

Debian鏄疧penCASCADE鐢ㄤ簬Linux鎿嶄綔緋葷粺嫻嬭瘯鐨勪笓鐢ㄧ郴緇熴傝繖鍑犲ぉ涓嬭澆瀹夎浜咲ebian緋葷粺錛屼綋楠屼簡涓涓嬶紝鎰熻榪樹笉閿欙細綆媧侊紝綺捐嚧銆?

wps_clip_image-23936

Figure 1. Debian GUI

wps_clip_image-9270

Figure 2. Debian GUI

瀹夎Debian涔熷茍涓嶆槸涓甯嗛欏猴紝鍜屽垰寮濮嬭嚜宸卞畨瑁匴indows鎿嶄綔緋葷粺涓鏍鳳紝涔熼亣鍒頒簡浜涘皬闂銆備笉榪囨妸榪欎簺閮借В鍐沖悗錛孌ebian鐢ㄨ搗鏉ユ劅瑙夊緢瀵瑰懗銆?

v 鏄懼崱椹卞姩

棣栧厛閬囧埌鏄樉鍗¢┍鍔ㄦ病鏈夋紜畨瑁呫傜敱浜庣瑪璁版湰鏄疉TI鐨勬樉鍗★紝浣跨敤緋葷粺鑷甫鐨勯┍鍔ㄨ繕涓嶈銆傚湪緗戜笂鎼滀簡寰堝鏂規硶錛屾渶緇堣繕鏄敤瀹樼綉涓婄殑鏂規硶鎴愬姛瑙e喅闂銆?

wps_clip_image-25492

Figure 3. The ATI Radeon HD Drivers Installation in Debian

閫夋嫨鏄懼崱瀵瑰簲鍨嬪彿鐨勯┍鍔紝涓瀹氳鎶?#8221;Contrib”鍜?#8221;non-free”鍔犲埌sources.list涓幓錛屽涓婂浘鎵紺恒傜劧鍚庡啀鐩存帴鎵ц涓嬮潰涓ゆ潯鍛戒護鍗沖彲銆?

璇︽儏鍙弬鑰冿細https://wiki.debian.org/ATIProprietary 銆?

浣跨敤鍛戒護錛歡lxgears鏉ユ祴璇曚竴涓?D鐨勬ц兘錛?

wps_clip_image-30702

鐢卞浘鍙煡錛岃繖涓畝鍗曠殑3D紼嬪簭寰楀埌鐨勫撫棰戞槸2000 FPS宸﹀彸錛屾瘮OpenSceneGraph鍦╓indows涓嬬殑瑕侀珮澶氫簡銆傦紙榪欎釜絎旇鏈殑鏄懼崱榪樻槸姣旇緝鑰佺殑銆傦級

v嫻忚鍣ㄧ殑Flash 鎻掍歡

嫻忚鍣↖ceweasel榛樿娌℃湁鎶奆lash鎻掍歡瀹夎濂斤紝瀵艱嚧涓浜涘湪綰塊煶涔愬拰鐢靛獎涓嶈兘鎾斁銆傚湪緗戜笂涔熸悳绱簡寰堝錛岀粨鏋滆繕鏄寜瀹樼綉涓婄殑鏂規硶鎼炲畾銆傚叾涓富瑕佽繕鏄鎶婃簮璁劇疆濂斤紝灝辮兘鑷姩瀹夎浜嗐傚畨瑁呮柟娉曞涓嬫墍紺猴細

wps_clip_image-23730

Figure 4. Flash Player Plugin for Iceweasel

鏈変簡Flash灝卞彲浠ヨ竟鍚瓕杈瑰啓浠g爜浜嗐?

璇︽儏鍙弬鑰冿細https://wiki.debian.org/FlashPlayer/ 銆?

v 杈撳叆娉昮citx

鍏堣緗郴緇熺殑locales錛屼嬌鍏朵腑鍖呭惈涓枃瀛楀簱銆傚啀瀹夎fcitx錛屾寜緗戜笂鐨勬搷浣滀篃瀹炵幇浜嗚嫳鏂囩殑緋葷粺涓枃鐨勮緭鍏ャ?

鎬葷粨

瑙e喅浜嗚繖浜涢棶棰樺悗錛孌ebian鐢ㄨ搗鏉ユ劅瑙夎繕濂斤紝榪橀渶瑕佹參鎱㈢啛鎮夊拰閫傚簲銆備笅涓姝ュ噯澶囧湪Debian涓婄紪璇戙佽皟璇旵/C++紼嬪簭銆備負緙栬瘧OpenCASCADE鐨凩inux鐗堟湰鎵撲笅鍩虹銆?



eryar 2014-09-29 22:54 鍙戣〃璇勮
]]>
Intergraph Stamphttp://www.shnenglu.com/eryar/archive/2014/07/26/207813.htmleryareryarSat, 26 Jul 2014 09:36:00 GMThttp://www.shnenglu.com/eryar/archive/2014/07/26/207813.htmlhttp://www.shnenglu.com/eryar/comments/207813.htmlhttp://www.shnenglu.com/eryar/archive/2014/07/26/207813.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/207813.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/207813.html20140726_163951

20140726_165500

鎰熻阿灝忚儢甯堝厔錛岃繖涓嵃绔犲緢鏈夊懗閬撱?/p>

eryar 2014-07-26 17:36 鍙戣〃璇勮
]]>
std::ofstream failedhttp://www.shnenglu.com/eryar/archive/2014/07/12/207627.htmleryareryarSat, 12 Jul 2014 07:55:00 GMThttp://www.shnenglu.com/eryar/archive/2014/07/12/207627.htmlhttp://www.shnenglu.com/eryar/comments/207627.htmlhttp://www.shnenglu.com/eryar/archive/2014/07/12/207627.html#Feedback3http://www.shnenglu.com/eryar/comments/commentRss/207627.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/207627.html浠婂ぉ鍦ㄨ緭鍑烘暟鎹埌鏂囦歡鏃訛紝鐢ㄥ埌C++鐨剆td::ofstream錛岀粨鏋滄枃浠跺氨鏄病鏈夎緭鍑烘垚鍔燂紝紺轟緥紼嬪簭濡備笅鎵紺猴細


#include 
<fstream>
#include 
<sstream>
#include 
<iostream>
#include 
<cassert>

void Output(const std::string &theFileName)
{
    std::ofstream os(theFileName.c_str());

    assert(os.good());

    os 
<< "Just for test" << std::endl;

    os.close();
}

int main(int argc, char* argv[])
{
    std::stringstream ss;

    
// remove the std::endl
    ss << "test" << 1 << ".txt" << std::endl;

    Output(ss.str());

    
return 0;
}

 

鏈鍚庢墠鍙戠幇鏄枃浠跺悕鏈夐棶棰橈紝淇敼紼嬪簭錛屽幓鎺夌敓鎴愭枃浠跺悕鐨勪竴涓猻td::endl鍗沖彲錛?/p>

 


#include 
<fstream>
#include 
<sstream>
#include 
<iostream>
#include 
<cassert>

void Output(const std::string &theFileName)
{
    std::ofstream os(theFileName.c_str());

    assert(os.good());

    os 
<< "Just for test" << std::endl;

    os.close();
}

int main(int argc, char* argv[])
{
    std::stringstream ss;

    
// remove the std::endl
    ss << "test" << 1 << ".txt";

    Output(ss.str());

    
return 0;
}


涓嶇粡鎰忛棿灝變細鍐欏嚭榪欑灝忛敊璇殑浠g爜錛岃屼笖鎵鵑敊寰堝緢璐規椂銆?/p>

eryar 2014-07-12 15:55 鍙戣〃璇勮
]]>
Mesh Photoshttp://www.shnenglu.com/eryar/archive/2013/09/20/203321.htmleryareryarFri, 20 Sep 2013 14:50:00 GMThttp://www.shnenglu.com/eryar/archive/2013/09/20/203321.htmlhttp://www.shnenglu.com/eryar/comments/203321.htmlhttp://www.shnenglu.com/eryar/archive/2013/09/20/203321.html#Feedback2http://www.shnenglu.com/eryar/comments/commentRss/203321.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/203321.html20130920_120035

Figure 1. HangzhouDong Railway Station

20130920_120100

Figure 2. Railway station roof

 

涓鍘繪澀宸炵帺錛岀湅鍒版澀宸炰笢鐏濺绔欏眿欏跺緢鏈夋劅瑙夛紝灝辨媿浜嗗嚑寮犵収鐗囥傜湅鐫閭i犲瀷錛岃仈鎯沖埌鏇查潰閫犲瀷錛屽嵆鍙互鐢ㄥ杈瑰艦鏉ヨ〃紺鴻嚜鐢辨洸闈€?/p>

eryar 2013-09-20 22:50 鍙戣〃璇勮
]]>
鍙璺槸瀵圭殑錛屽氨涓嶆曡礬榪?/title><link>http://www.shnenglu.com/eryar/archive/2013/08/19/202655.html</link><dc:creator>eryar</dc:creator><author>eryar</author><pubDate>Mon, 19 Aug 2013 14:30:00 GMT</pubDate><guid>http://www.shnenglu.com/eryar/archive/2013/08/19/202655.html</guid><wfw:comment>http://www.shnenglu.com/eryar/comments/202655.html</wfw:comment><comments>http://www.shnenglu.com/eryar/archive/2013/08/19/202655.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/eryar/comments/commentRss/202655.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/eryar/services/trackbacks/202655.html</trackback:ping><description><![CDATA[<p>1. 縐瀬鎬濊冮犳垚縐瀬浜虹敓錛屾秷鏋佹濊冮犳垚娑堟瀬浜虹敓錛?/p> <p>2. 鍒兂涓涓嬮犲嚭澶ф搗錛屽繀欏誨厛鐢卞皬娌沖窛寮濮嬶紱</p> <p>3. 浣犳湁鑴告槸涓轟簡鍛堢幇涓婂笣璧愮粰浜虹被鏈璐甸噸鐨勭ぜ鐗?#8212;—寰瑧錛屼竴瀹氳鎴愪負浣犲伐浣滄渶澶х殑璧勪駭錛?/p> <p>4. 浠ヨ瘹鎰熶漢鑰咃紝浜轟害璇氳屽簲錛?/p> <p>5. 鍗充嬌涓嶆垚鐔熺殑灝濊瘯錛屼篃鑳滀簬鑳庢鑵逛腑鐨勭瓥鐣ワ紱</p> <p>6. 縐瀬鑰呯浉淇″彧鏈夋帹鍔ㄨ嚜宸憋紝鎵嶈兘鎺ㄥ姩涓栫晫錛屽彧瑕佹帹鍔ㄨ嚜宸憋紝灝辮兘鎺ㄥ姩涓栫晫錛?/p> <p>7. 琛屽姩鏄垚鍔熺殑闃舵錛岃鍔ㄨ秺澶氾紝鐧誨緱瓚婇珮錛?/p> <p>8. 涓嶈絳夊緟鏈轟細錛岃岃鍒涘緩鏈轟細錛?/p> <p>9. 鎴愬姛鐨勬硶鍒欐瀬涓虹畝鍗曪紝浣嗙畝鍗曞茍涓嶄唬琛ㄥ鏄擄紱</p> <p>10. 鏄ㄦ櫄澶氬嚑鍒嗛挓鐨勫噯澶囷紝浠婂ぉ灝戝嚑灝忔椂鐨勯夯鐑︼紱</p> <p>11. 涓栫晫涓婇偅浜涙渶瀹規槗鐨勪簨鎯呬腑錛屾嫋寤舵椂闂存渶涓嶈垂鍔涳紱</p> <p>12. 鏈浘澶辮觸鐨勪漢鎭愭曚篃鏈浘鎴愬姛榪囷紱</p> <p>13. 鎸姌鍏跺疄灝辨槸榪堝悜鎴愬姛鎵搴旂即鐨勫璐癸紱</p> <p>14. 浠諱綍鐨勯檺鍒墮兘鏄粠鑷繁鐨勫唴蹇冨紑濮嬬殑錛?/p> <p>15. 蹇樻帀澶辮觸錛屼笉榪囪鐗㈣澶辮觸涓殑鏁欒錛?/p> <p>16. 涓嶆槸澧冨喌閫犲氨浜猴紝鑰屼漢閫犲氨澧冨喌錛?/p> <p>17. 闈犲北灞變細鍊掞紝闈犳按姘翠細嫻侊紝闈犺嚜宸辨案榪滀笉鍊掞紱</p> <p>18. 鍙璺槸瀵圭殑錛屽氨涓嶆曡礬榪滐紱</p> <p>19. 涓涓兘浠庡埆浜虹殑瑙傚康鏉ョ湅浜嬫儏錛岃兘浜嗚В鍒漢蹇冪伒媧誨姩鐨勪漢錛屾案榪滀笉蹇呬負鑷繁鐨勫墠閫旀媴蹇冿紱</p> <p>20. 褰撲竴涓漢鍏堜粠鑷繁鍐呭績寮濮嬪鏂楋紝浠栧氨鏄釜鏈変環鍊肩殑浜猴紱</p> <p>21. 鐢熷懡瀵規煇浜涗漢鏉ヨ鏄編涓界殑錛岃繖浜涗漢鐨勪竴鐢熼兘涓烘煇涓洰鏍囪屽鏂楋紱</p> <p>22. 鍑$湡蹇冨皾璇曞姪浜鴻咃紝娌℃湁涓嶅府鍒拌嚜宸辯殑銆?/p><img src ="http://www.shnenglu.com/eryar/aggbug/202655.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/eryar/" target="_blank">eryar</a> 2013-08-19 22:30 <a href="http://www.shnenglu.com/eryar/archive/2013/08/19/202655.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓夌淮CAD綆浠?/title><link>http://www.shnenglu.com/eryar/archive/2013/05/05/199997.html</link><dc:creator>eryar</dc:creator><author>eryar</author><pubDate>Sun, 05 May 2013 14:15:00 GMT</pubDate><guid>http://www.shnenglu.com/eryar/archive/2013/05/05/199997.html</guid><wfw:comment>http://www.shnenglu.com/eryar/comments/199997.html</wfw:comment><comments>http://www.shnenglu.com/eryar/archive/2013/05/05/199997.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/eryar/comments/commentRss/199997.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/eryar/services/trackbacks/199997.html</trackback:ping><description><![CDATA[<p>        浼佷笟搴旂敤涓夌淮CAD榪涜浜у搧鍒涙柊璁捐宸茬粡鏄竴鍚勫繀鐒惰秼鍔匡紝涓夌淮璁捐絎﹀悎浜虹殑鎬濈淮涔犳儻銆傚湪浜岀淮CAD鏅強鐨勪粖澶╋紝涓夌淮CAD涔熷氨鎴愪負鎴戝浗鍔犲揩瀹炵幇宸ヤ笟鐜頒唬鍖栫殑蹇呯劧閫夋嫨錛屽叾瀵瑰埗閫犱笟澧炲己浜у搧鍒涙柊寮鍙戣兘鍔涜搗鍒頒簡宸ㄥぇ鐨勬帹鍔ㄤ綔鐢紝鏄埗閫犱笟淇℃伅鐜頒唬鍖栧緩璁句笉鍙垨緙虹殑宸ュ叿銆傜劧鑰岀洰鍓嶆垜鍥藉埗閫犱笟涓櫘鍙婁笁緇碈AD榪樺瓨鍦ㄨ澶氱幇瀹炵殑闂錛屼笁緇碈AD杞歡鐨勪駭涓氬寲寮鍙戞按騫寵繙涓嶅浜岀淮CAD杞歡銆傚洜姝わ紝鍙戝睍鍏鋒湁鑷富鐭ヨ瘑浜ф潈鐨勪笁緇碈AD杞歡錛屾墦鐮村浗澶栦駭鍝佺殑鍨勬柇灞闈紝鎴愪負涓欏歸潪甯歌揩鍒囩殑浠誨姟銆?/p> <p>       CAD鎶鏈粡榪囧嚑鍗佸勾鐨勫彂灞曪紝鍏堝悗璧拌繃浜嗗ぇ鍨嬫満銆佸皬鍨嬫満銆佸伐浣滅珯銆佸井鏈烘椂浠o紝姣忎釜鏃朵唬閮芥湁褰撴椂嫻佽鐨凜AD杞歡銆備笅闈㈠垎鍒粙緇嶄竴浜涙祦琛岀殑鍙敤浜庢洸闈㈤犲瀷鐨勮蔣浠訛細</p> <ul><li>緹庡浗SDRC鍏徃鐨処錛岲EAS Master Series杞歡閲囩敤VGX錛堣秴鍙橀噺錛夋妧鏈紝鐢ㄦ埛鍙互鐩磋銆佸疄鏃跺湴榪涜涓夌淮浜у搧鐨勮璁″拰淇敼錛?/li><li>緹庡浗UG錛圲nigraphics Solutions錛夋簮浜庤埅絀轟笟銆佹苯杞︿笟錛屼互鍙傛暟鍖栧疄浣撳嚑浣曢犲瀷鏍稿績涓哄熀紜錛岄噰鐢ㄥ熀浜庣害鏉熺殑鐗瑰緛寤烘ā鍜屼紶緇熺殑鍑犱綍寤烘ā涓轟竴浣撶殑澶嶅悎寤烘ā鎶鏈傚叾鏇查潰鍔熻兘鍖呭惈浜嶧reeform Modeling妯″潡涓紝閲囩敤浜哊URBS銆丅鏍鋒潯銆丅ezier鏁板鍩虹錛屽悓鏃朵繚鐣欒В鏋愬嚑浣曞疄浣撻犲瀷鏂規硶錛岄犲瀷鑳藉姏寮猴紱</li><li>緹庡浗PTC鍏徃鐨凱ro/Engineer浠ュ叾鍙傛暟鍖栥佸熀浜庣壒寰併佸叏鐩稿叧絳夋柊姒傚康闂誨悕浜嶤AD鐣岋紝鍏舵洸闈㈤犲瀷闆嗕腑鍦≒ro/SURFACE妯″潡涓紱</li><li>緹庡浗IBM鐨凜ATIA/CADAM(Dassault Systems寮鍙?鏄竴涓箍娉涚殑CAD銆丆AM銆丆AE銆丳DM搴旂敤緋葷粺銆?/li><li>娉曞浗Matra-DataVision鍏徃鐨凟uclid闆嗘垚緋葷粺鏄竴涓泦鏈烘璁捐涓庡伐鍘傝璁′簬涓韜紒涓氱駭騫惰宸ョ▼瑙e喅鏂規錛屽叾鏇查潰鍔熻兘鍦?#8220;ASD楂樼駭鏇查潰璁捐”涔嬩腑銆傛洸闈㈢敱NURBS鍜孊ezier鏁板褰㈠紡琛ㄨ揪錛岄氳繃寮哄ぇ鐨勮挋鐨佹壄鏇層佹斁鏍楓佽鍓佸竷灝旇繍綆楋紝鑳藉褰㈡垚澶嶆潅鐨勫褰€傚叾瀹炰綋閫犲瀷鍔熻兘鍙洿鎺ョ敤浜庢洸闈紝琛ㄧ幇鍑虹獊鍑虹殑鎷撴湸榪愮畻鑳藉姏銆備緥濡傦紝澶氭洸闈㈤棿鐨勪氦銆佸茍銆佸樊榪愮畻錛涘湪澶氭洸闈㈤棿鐨勭┖闅欏濉厖鎴愪繚鎸佷竴鑷村垏鐭€佹洸鐜囩殑鏂版洸闈紱鏋勯犵浉鍒囦簬宸茬煡鏇查潰鐨勬洸闈㈢瓑銆侲uclid鍔ㄦ佽嚜鐢遍犲瀷鍔熻兘錛屽疄鐜頒簡浠ユ洸闈㈡洸鐜囪繘琛屽姩鎬佹洸闈㈣拷韙佺紪杈戙佹帶鍒剁殑璁捐淇敼榪囩▼錛屽緢濂藉湴浣撶幇浜嗕氦浜掓妧鏈殑搴旂敤銆侻atra鍏徃鐨勫彟涓涓撲笟搴旂敤緋葷粺Strim涓撻棬閽堝澶嶆潅鏇查潰CAD銆丆AE銆丆AM錛屽叾鏇查潰璁捐鍜屾ā鍏峰埗閫犺兘鍔涗紭浜嶦uclid緋葷粺銆傝繖涓昏琛ㄧ幇鍦ㄦ洸闈㈡ā鍨嬭川閲忔鏌ュ櫒銆佹洸闈㈤噸寤恒侀嗗悜宸ョ▼涓庡伐涓氶犲瀷璁捐絳変笓涓氭ā鍧椾笂銆傚挨鍏舵槸鍏舵暟瀛楀寲鐐瑰姞宸ヨ兘鍔涳紝鍗沖彲浠ユ牴鎹潗鏍囨祴閲忔満嫻嬪緱鐨勬暟鎹偣鐩存帴榪涜鍔犲伐紼嬪簭鐨勭紪鍒訛紝鑰屼笉蹇呮瀯閫犳洸闈㈡ā鍨嬨傛諱箣錛岃繖涓や釜杞歡鏇查潰鑳藉姏瀹炲姏鏈寮恒侻atra-DataVision灝辨槸鐜板湪鐨凮pen Cascade鐨勫巻鍙插彲浠ュ弬鑰冿細<a title="http://www.opencascade.org/about/profile/history/" >http://www.opencascade.org/about/profile/history/</a>銆?/li><li>緹庡浗CV鍏徃鐨凜ADDS5杞歡鐨凬URBS鏇查潰璁捐妯″潡鏄疌V鍏徃鐢ㄤ互瀹屾垚澶у瀷澶嶆潅鏇查潰閫犲瀷鐨勪笓鐢ㄥ伐鍏楓?/li><li>Solid Edge閲囩敤Parasolid閫犲瀷鍐呮牳銆侻DT浠CIS妯″瀷涓烘牳蹇冿紝鍙互瀵筃URBS鏇查潰榪涜澶氱鍑犱綍澶勭悊錛屽茍涓旂粨鍚堝埌緇熶竴鐨勫疄浣撶幆澧冧腑銆?/li></ul><img src ="http://www.shnenglu.com/eryar/aggbug/199997.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/eryar/" target="_blank">eryar</a> 2013-05-05 22:15 <a href="http://www.shnenglu.com/eryar/archive/2013/05/05/199997.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍋囧 If&hellip;http://www.shnenglu.com/eryar/archive/2012/12/15/196339.htmleryareryarSat, 15 Dec 2012 15:30:00 GMThttp://www.shnenglu.com/eryar/archive/2012/12/15/196339.htmlhttp://www.shnenglu.com/eryar/comments/196339.htmlhttp://www.shnenglu.com/eryar/archive/2012/12/15/196339.html#Feedback3http://www.shnenglu.com/eryar/comments/commentRss/196339.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/196339.html鍋囧…

eryar@163.com

鍋囧鏄劇ず鍣ㄧ殑鍒嗚鯨鐜囧彲浠ヨ秼浜庢棤闄愶紝

閭d箞鎴戝皢鐢?em>glVertex鐢誨嚭鍏呮弧鏌旀儏鐨勫姬綰垮拰椋橀告磼鑴辯殑闈㈢墖銆?


鍋囧涓嶅幓鐞嗕細嬈ф媺紺烘ф暟鏄惁絳変簬2鐨勭害鏉燂紝

閭d箞鎴戝皢鐢?em>NURBS鍒涢犱竴涓煆鎷夊浘鐨勮嚜鐢辯悊鎯沖浗搴︺?

clip_image006
up

鍋囧鐖辨儏鍙互涓嶅啀鍔熷埄涓栦織錛?

閭d箞鎴戝皢涓嶤AGD鎼烘墜涓轟即錛岀浉瀹堜竴鐢熴?



eryar 2012-12-15 23:30 鍙戣〃璇勮
]]>
[杞琞涓涓皬鏃跺唴瀛︿範 SQLite 鏁版嵁搴?/title><link>http://www.shnenglu.com/eryar/archive/2012/10/27/193952.html</link><dc:creator>eryar</dc:creator><author>eryar</author><pubDate>Sat, 27 Oct 2012 13:23:00 GMT</pubDate><guid>http://www.shnenglu.com/eryar/archive/2012/10/27/193952.html</guid><wfw:comment>http://www.shnenglu.com/eryar/comments/193952.html</wfw:comment><comments>http://www.shnenglu.com/eryar/archive/2012/10/27/193952.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/eryar/comments/commentRss/193952.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/eryar/services/trackbacks/193952.html</trackback:ping><description><![CDATA[     鎽樿: 1. 浠嬬粛 SQLite 鏄竴涓紑婧愮殑宓屽叆寮忓叧緋繪暟鎹簱錛屽疄鐜拌嚜鍖呭銆侀浂閰嶇疆銆佹敮鎸佷簨鍔$殑SQL鏁版嵁搴撳紩鎿庛?鍏剁壒鐐規槸楂樺害渚挎惡銆佷嬌鐢ㄦ柟渚褲佺粨鏋勭揣鍑戙侀珮鏁堛佸彲闈犮?涓庡叾浠栨暟鎹簱綆$悊緋葷粺涓嶅悓錛孲QLite 鐨勫畨瑁呭拰榪愯闈炲父綆鍗曪紝鍦ㄥぇ澶氭暟鎯呭喌涓?- 鍙紜繚SQLite鐨勪簩榪涘埗鏂囦歡瀛樺湪鍗沖彲寮濮嬪垱寤恒佽繛鎺ュ拰浣跨敤鏁版嵁搴撱傚鏋滄偍姝e湪瀵繪壘涓涓祵鍏ュ紡鏁版嵁搴撻」鐩垨瑙e喅鏂規錛孲QLite鏄粷瀵瑰煎緱鑰冭檻銆?. 瀹?..  <a href='http://www.shnenglu.com/eryar/archive/2012/10/27/193952.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/eryar/aggbug/193952.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/eryar/" target="_blank">eryar</a> 2012-10-27 21:23 <a href="http://www.shnenglu.com/eryar/archive/2012/10/27/193952.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍐嶈銆婅丹澹佽祴銆?/title><link>http://www.shnenglu.com/eryar/archive/2012/07/12/183059.html</link><dc:creator>eryar</dc:creator><author>eryar</author><pubDate>Thu, 12 Jul 2012 13:58:00 GMT</pubDate><guid>http://www.shnenglu.com/eryar/archive/2012/07/12/183059.html</guid><wfw:comment>http://www.shnenglu.com/eryar/comments/183059.html</wfw:comment><comments>http://www.shnenglu.com/eryar/archive/2012/07/12/183059.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/eryar/comments/commentRss/183059.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/eryar/services/trackbacks/183059.html</trackback:ping><description><![CDATA[<p>     鐪嬪埌鑻忚郊鍐欍婅丹澹佽祴銆嬬殑鑳屾櫙錛屼粬鎬濇兂鏄煕鐩劇殑錛氫竴鏂歸潰錛屼粬瀵瑰彈鍒版畫閰鋒墦鍑繪劅鍒版劋鎳戙佺棝鑻︼紱鍙︿竴鏂歸潰錛屾椂鏃舵兂浠庤佸簞浣涘姹傚緱瑙h劚銆傚悓鏃訛紝鍦ㄨ含鑰曞啘浜嬩笌鐢扮埗閲庤佺殑浜ゅ線涓紝鎰熷埌浜嗘俯鏆栵紝澧炲己浜嗕俊蹇冿紝涔熶嬌浠栫殑鎬濇兂鏇存帴榪戠幇瀹炪傝鏄庡綋浣犲緢澶辮惤鏃訛紝鍙互浣胯嚜宸卞繖璧鋒潵銆傝繖涔熷簲璇ユ槸鍙や漢鍦ㄨ皥浜虹敓錛岃皥鐞嗘兂鐨勬枃绔犮傜幇鎽樻妱濡備笅錛?/p> <div id="hvzpftn" class="csharpcode"><pre class="alt"> 澹垖涔嬬錛屼竷鏈堟棦鏈涳紝鑻忓瓙涓庡娉涜垷娓鎬簬璧ゅ涔嬩笅銆傛竻椋庡緪鏉ワ紝姘存嘗涓嶅叴銆備婦閰掑睘瀹紝璇墊槑鏈?/pre><pre>璇楋紝姝岀獔紿曚箣绔犮傚皯鐒夛紝鏈堝嚭浜庝笢灞變箣涓婏紝寰樺緤浜庢枟鐗涗箣闂淬傜櫧闇叉í姹燂紝姘村厜鎺ュぉ銆傜旱涓鑻囦箣鎵濡傦紝鍑屼竾欏蜂箣鑼劧銆傛旦嫻╀箮濡傚啹铏氬盡椋庯紝鑰屼笉鐭ュ叾鎵姝紱椋橀涔庡閬椾笘鐙珛錛岀窘鍖栬岀櫥浠欍?/pre><pre>銆銆浜庢槸楗厭涔愮敋錛屾墸鑸瘋屾瓕涔嬨傛瓕鏇幫細“妗傛9鍏叞妗紝鍑葷┖鏄庡叜婧祦鍏夈傛負娓哄叜浜庢錛屾湜緹庝漢鍏ぉ</pre><pre class="alt">涓鏂廣?#8221;瀹㈡湁鍚規礊綆咃紝鍊氭瓕鑰屽拰涔嬨傚叾澹板憸鍛滅劧錛屽鎬ㄥ鎱曪紝濡傛常濡傝瘔錛屼綑闊寵琚咃紝涓嶇粷濡傜紩銆傝垶</pre><pre>騫藉涔嬫綔铔燂紝娉e鑸熶箣瀚犲銆?/pre><pre>銆銆鑻忓瓙鎰鐒訛紝姝h鍗卞潗鑰岄棶瀹㈡洶錛?#8220;浣曚負鍏剁劧涔燂紵”瀹㈡洶錛?#8220;‘鏈堟槑鏄熺█錛屼箤楣婂崡椋?#8217;錛屾闈炴浌瀛熷痙涔嬭瘲涔庯紵瑗挎湜澶忓彛錛屼笢鏈涙鏄岋紝灞卞窛鐩哥吉錛岄儊涔庤媿鑻嶏紝姝ら潪瀛熷痙涔嬪洶浜庡懆閮庤呬箮錛熸柟鍏剁牬鑽嗗窞錛屼笅姹熼櫟錛岄『嫻佽屼笢涔燂紝<br />鑸寵埢鍗冮噷錛屾棇鏃楄斀絀猴紝閰鵑厭涓存睙錛屾í妲婅祴璇楋紝鍥轟竴涓栦箣闆勪篃錛岃屼粖瀹夊湪鍝夛紵鍐靛惥涓庡瓙娓旀ǖ浜庢睙娓氫箣涓婏紝渚i奔铏捐屽弸緋滈箍錛岄┚涓鍙朵箣鎵佽垷錛屼婦鍖忔ń浠ョ浉灞炪傚瘎铚夎潱涓庡ぉ鍦幫紝娓烘缽嫻蜂箣涓綺熴傚搥鍚劇敓涔嬮』鑷撅紝緹¢暱姹熶箣鏃犵┓銆?br />鎸熼浠欎互閬ㄦ父錛屾姳鏄庢湀鑰岄暱緇堛傜煡涓嶅彲涔庨寰楋紝鎵橀仐鍝嶄簬鎮查銆?#8221;</pre><pre>銆銆鑻忓瓙鏇幫細“瀹害鐭ュか姘翠笌鏈堜箮錛熼濊呭鏂紝鑰屾湭灝濆線涔燂紱鐩堣櫄鑰呭褰鹼紝鑰屽崚鑾秷闀夸篃銆傜洊灝嗚嚜鍏跺彉鑰呰岃涔嬶紝鍒欏ぉ鍦版浘涓嶈兘浠ヤ竴鐬紱鑷叾涓嶅彉鑰呰岃涔嬶紝鍒欑墿涓庢垜鐨嗘棤灝戒篃銆傝屽張浣曠盡涔庯紒涓斿か澶╁湴涔嬮棿錛岀墿鍚勬湁涓伙紝<br />鑻熼潪鍚句箣鎵鏈夛紝铏戒竴姣岃帿鍙栥傛儫姹熶笂涔嬫竻椋庯紝涓庡北闂翠箣鏄庢湀錛岃沖緱涔嬭屼負澹幫紝鐩亣涔嬭屾垚鑹詫紝鍙栦箣鏃犵錛岀敤涔嬩笉绔紝鏄犵墿鑰呬箣鏃犲敖钘忎篃錛岃屽惥涓庡瓙涔嬫墍鍏遍傘?#8221;</pre><pre>銆銆瀹㈠枩鑰岀瑧錛屾礂鐩忔洿閰屻傝偞鏍告棦灝斤紝鏉洏鐙肩睄銆傜浉涓庢灂钘変箮鑸熶腑錛屼笉鐭ヤ笢鏂逛箣鏃㈢櫧銆?/pre></div><img src ="http://www.shnenglu.com/eryar/aggbug/183059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/eryar/" target="_blank">eryar</a> 2012-07-12 21:58 <a href="http://www.shnenglu.com/eryar/archive/2012/07/12/183059.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍒涢犳湁浠峰肩殑浜虹敓http://www.shnenglu.com/eryar/archive/2012/06/30/180917.htmleryareryarSat, 30 Jun 2012 12:22:00 GMThttp://www.shnenglu.com/eryar/archive/2012/06/30/180917.htmlhttp://www.shnenglu.com/eryar/comments/180917.htmlhttp://www.shnenglu.com/eryar/archive/2012/06/30/180917.html#Feedback0http://www.shnenglu.com/eryar/comments/commentRss/180917.htmlhttp://www.shnenglu.com/eryar/services/trackbacks/180917.html棰嗘偀浜虹敓鐪熻皼 鍒涢犱漢鐢熶環鍊?/h2>

涓銆佹爲绔嬫紜殑浜虹敓瑙?/h3>
  1. 涓栫晫瑙備笌浜虹敓瑙?/strong>
    • 涓栫晫瑙傛槸浜轟滑瀵圭敓媧誨湪鍏朵腑鐨勪笘鐣屼互鍙婁漢涓庝笘鐣岀殑鍏崇郴鐨勬諱綋鐪嬫硶鍜屾牴鏈鐐廣?
    • 浜虹敓瑙傛槸涓栫晫瑙傜殑閲嶈緇勬垚閮ㄥ垎錛屾槸浜轟滑鍦ㄥ疄璺典腑褰㈡垚鐨勫浜庝漢鐢熺洰鐨勫拰鎰忎箟鐨勬牴鏈湅娉曪紝瀹冨喅瀹氱潃浜轟滑瀹炶返媧誨姩鐨勭洰鏍囥佷漢鐢熼亾璺殑鏂瑰悜鍜屽寰呯敓媧葷殑鎬佸害銆傞┈鍏嬫濇寚鍑猴細浜虹殑鏈川涓嶆槸鍗曚釜浜烘墍鍥烘湁鐨勬娊璞$墿錛屽湪鍏剁幇瀹炴т笂錛屽畠鏄竴鍒囩ぞ浼氬叧緋葷殑鎬誨拰銆?
    • 浠諱綍浜洪兘鏄浜庝竴瀹氱殑紺句細鍏崇郴涓粠浜嬬ぞ浼氬疄璺墊椿鍔ㄧ殑浜恒傜ぞ浼氬睘鎬ф槸浜虹殑鏈川灞炴э紝浜虹殑鑷劧灞炴т篃娣辨繁鎵撲笂浜嗙ぞ浼氬睘鎬с傛瘡涓漢浠庝粬鏉ュ埌浜轟笘鐨勯偅澶╄搗錛屽氨浠庡睘浜庝竴瀹氱殑紺句細緹や綋錛屽悓鍛ㄥ洿鐨勪漢鍙戠敓鐫鍚勫紡鍚勬牱鐨勭ぞ浼氬叧緋伙紝濡傚搴叧緋匯佷笟緙樺叧緋匯侀亾寰峰叧緋匯佺粡嫻庡叧緋匯佹亱鐖卞叧緋葷瓑銆備漢浠鏄湪榪欑瀹㈣鐨勩佺幇瀹炵殑銆佷笉鏂彉鍖栫殑紺句細鍏崇郴涓閫犺嚜鎴戯紝鎴愪負鐪熸鎰忎箟涓婄殑浜猴紝鎴愪負鍏鋒湁涓х壒寰佺殑鑷垜銆傚湪瀹為檯鐢熸椿涓紝浜轟滑涓嶆柇闈㈠鍚勫紡鍚勬牱鐨勯棶棰橈紝閫愭笎鍦拌璇嗗拰棰嗘偀浜虹敓銆傚埌浜嗕竴瀹氬勾榫勶紝鏃犺鑷涓庡惁錛屼漢閮戒細褰㈡垚涓庤嚜宸辯殑鐢熸椿闃呭巻銆佸疄闄呬綋楠屽瘑鍒囩浉鍏崇殑鍏充簬浜虹敓鐨勬牴鏈湅娉曘佷環鍊煎垽鏂拰鐢熸椿鎬佸害錛岃繖灝辨槸涓涓漢鐨勪漢鐢熻銆?
    • 涓栫晫瑙備笌浜虹敓瑙傛槸绱у瘑鑱旂郴鍦ㄤ竴璧風殑銆傛紜殑涓栫晫瑙傛槸姝g‘浜虹敓瑙傜殑鍩虹錛屼漢浠浜虹敓鎰忎箟鐨勬紜悊瑙o紝闇瑕佽搗绔嬪湪瀵逛笘鐣屽彂灞曞瑙傝寰嬫紜璇嗙殑鍩虹涔嬩笂銆傜幇瀹炵敓媧昏鏄庯紝涓涓漢鍗充嬌鏇劇粡鏍戠珛璧蜂簡姝g‘鐨勪笘鐣岃錛屼絾鍦ㄤ漢鐢熷疄璺典腑錛屽鏋滅粡涓嶈搗鎷滈噾涓諱箟銆佷韓涔愪富涔夊拰鏋佺涓漢涓諱箟絳夎厫鏈戒漢鐢熻鐨勪鏡铓錛屾斁寮冧簡涓轟漢姘戞湇鍔$殑浜虹敓瑙傦紝閭d箞錛屾紜殑涓栫晫瑙傚繀鐒朵篃浼氫撫澶便?/li>
  1. 榪芥眰楂樺皻鐨勪漢鐢熺洰鐨?

浜虹敓瑙備富瑕侀氳繃浜虹敓鐩殑銆佷漢鐢熸佸害銆佷漢鐢熶環鍊間笁涓柟闈綋鐜板嚭鏉ャ備漢鐢熺洰鐨勫洖絳斾漢涓轟粈涔堟椿鐫錛涗漢鐢熸佸害琛ㄦ槑浜哄簲褰撴庢牱瀵瑰緟鐢熸椿錛涗漢鐢熶環鍊煎垽鏂粈涔堟牱鐨勪漢鐢熸墠鏈夋剰涔夈?/p>

    • 浜虹敓鐩殑鍐沖畾浜虹敓閬撹礬銆備竴鏂歸潰錛屼漢鐢熺洰鐨勮瀹氫簡浜虹敓媧誨姩鐨勫ぇ鏂瑰悜錛屽浜轟滑鎵浠庝簨鐨勫叿浣撴椿鍔ㄨ搗鐫瀹氬悜浣滅敤銆傚彟涓鏂歸潰錛屼漢鐢熺洰鐨勫張鏄漢鐢熻涓虹殑鍔ㄥ姏婧愭硥錛屼負瀹炵幇浜虹敓鐩殑錛屼漢浠細娉ㄩ噸鍩瑰吇鑳藉姏銆佺(緇冩剰蹇椼佸鍙戣繘鍙栥佸姫鍔涙嫾鎼忋?
    • 浜虹敓鐩殑鍐沖畾浜虹敓鎬佸害銆備漢鐢熼亾璺磶宀栦笉騫籌紝闈㈠鍚勭鍚勬牱鐨勭煕鐩懼拰鏂椾簤錛屼笉鍚岀殑浜虹敓鐩殑浼氫嬌浜洪噰鍙栦笉鍚岀殑浜虹敓鎬佸害銆傛紜殑浜虹敓鐩殑鍙互浣夸漢鏃犳墍鐣忔儳銆侀〗寮烘嫾鎼忋佺Н鏋佽繘鍙栥佷箰瑙傚悜涓婏紱閿欒鐨勪漢鐢熺洰鐨勫垯浼氫漢鎴栨槸鎶曟満閽昏惀銆侀摛鑰岃蛋闄┿佽繚娉曠姱緗佹垨鏄櫄搴︿漢鐢熴佹父鎴忎漢鐢熴佹斁綰典漢鐢熴佹垨鏄偛瑙傛秷娌夈佺湅鐮寸孩娌欍佸帉涓栬交鐢熴?
    • 浜虹敓鐩殑鍐沖畾浜虹敓浠峰兼爣鍑嗐傛紜殑浜虹敓鐩殑浼氫嬌浜烘噦寰椾漢鐢熺殑浠峰煎湪浜庡鐚紝浠庤屽湪宸ヤ綔涓敖蹇冨敖鍔涘敖璐o紱閿欒鐨勪漢鐢熺洰鐨勫垯浼氫嬌浜烘妸浜虹敓浠峰肩悊瑙d負鍚戠ぞ浼氭垨浠栦漢榪涜绱㈠彇錛屼粠鑰屼互榪介愪釜浜虹鍒╀負鏈変環鍊箋佹湁鎰忎箟鐨勪漢鐢熴備笉鍚岀殑浜虹敓鐩殑浼氭湁涓嶅悓鐨勪漢鐢熼夋嫨錛屼笉鍚岀殑浜虹敓閫夋嫨鍐沖畾鐫涓嶅悓鐨勪漢鐢熻拷姹傦紝涓嶅悓鐨勪漢鐢熻拷姹傚喅瀹氱潃涓嶅悓鐨勪漢鐢熶環鍊箋?/li>
  1. 紜珛縐瀬榪涘彇鐨勪漢鐢熸佸害
  • 浜虹敓鎬佸害鍜屼漢鐢熻錛涗漢鐢熸佸害鏄寚浜轟滑閫氳繃鐢熸椿瀹炶返褰㈡垚鐨勫浜虹敓闂鐨勪竴縐嶇ǔ瀹氱殑蹇冪悊鍊懼悜鍜屽熀鏈剰鎰褲傛瘡涓漢鍦ㄤ漢鐢熷疄璺典腑錛岄兘浼氶亣鍒頒箟鍒┿佽崳杈便佸杽鎭躲佽嫤涔愩佸緱澶便佹垚璐ャ佺ジ紱忋佺敓姝葷瓑浜虹敓鐭涚浘錛屽鏋滀互姝g‘鐨勪漢鐢熸佸害瀵瑰緟鍜屽鐞嗚繖浜涢棶棰橈紝灝卞彲浠ユ紜殑鎶婃彙浜虹敓錛屽彇寰椾漢鐢熺殑鎴愬姛銆?
    • 浜虹敓鎬佸害鏄漢鐢熻鐨勯噸瑕佸唴瀹廣?
    • 浜虹敓鎬佸害鏄漢鐢熻鐨勮〃鐜板拰鍙嶆槧銆?/li>
  • 绔浜虹敓鎬佸害錛涗漢鐢熸佸害鏃㈠埗綰︾潃涓涓漢瀵逛漢鐢熺煕鐩懼拰闂鐨勮璇嗕笌鎶婃彙錛屽張褰卞搷鐫涓涓漢鐨勭簿紲炵姸鎬佸拰浜虹敓璧板悜銆傚湪浜虹敓瀹炶返涓細閬囧埌鍚勭鍚勬牱鐨勭煕鐩懼拰鍥伴毦錛岄渶瑕佺姝d漢鐢熸佸害銆?
    • 浜虹敓欏昏鐪?/strong>錛涗互璁ょ湡鐨勬佸害瀵瑰緟浜虹敓錛屽鑷繁璐熻矗錛屽瀹跺涵璐熻矗錛屽鍥藉鍜岀ぞ浼氳礋璐o紝鑷鎵挎媴璧瘋嚜宸卞簲灝界殑璐d換錛屾弧鑵旂儹鎯呭湴鎶曡韓浜庣敓媧匯佸伐浣滃拰瀛︿範涓紝鍦ㄤ負鍥藉鍙戝睍鍜岀ぞ浼氳繘姝ヨ礎鐚姏閲忕殑榪囩▼涓疄鐜拌嚜宸辯殑浜虹敓浠峰箋?
    • 浜虹敓褰撳姟瀹?/strong>錛涜浠庝漢鐢熺殑瀹為檯鍑哄彂錛屼互縐戝鐨勬佸害鐪嬪緟浜虹敓錛屼互鍔″疄鐨勭簿紲炲垱閫犱漢鐢燂紝浠ユ眰鐪熷姟瀹炵殑浣滈鍋氬ソ姣忎歡浜嬨傝鎶婅繙澶х悊鎯沖瘬浜庡叿浣撶殑琛屽姩涓紝涓嶈兘濂介珮楣滆繙銆佺┖璋堢悊鎯熾佺溂楂樻墜浣庛佹祬灝濊緞姝紝鍚﹀垯灝變細鑴辯瀹為檯錛屼竴浜嬫棤鎴愩?
    • 浜虹敓搴斾箰瑙傦紱涔愯鍚戜笂錛岀儹鐖辯敓媧伙紝瀵逛漢鐢熷厖婊¤嚜淇★紝浣撶幇浜嗗鑷繁銆佸紺句細銆佸鐢熸椿鐨勭Н鏋佹佸害錛岃繖縐嶆佸害鏄漢浠壙鍙楀洶闅懼拰鎸姌鐨勫績鐞嗗熀紜銆備漢鐢熸槸涓板瘜澶氶噰鐨勶紝涔熷厖婊′簡鍚勭鐭涚浘銆傚湪浜虹敓鐨勭壒瀹氭垚闀塊樁孌碉紝闈㈠瀛︿範銆佸氨涓氥佹亱鐖便佸濮葷瓑鍚勭瀹為檯闂錛屼笉浼氭繪槸灝藉浜烘剰銆佷竴鍒囬『閬傦紝涔熷彲鑳芥湁澶辨湜銆佸洶闅俱佹尗鎶樸傝濮嬬粓淇濇寔涔愯鍚戜笂鐨勪漢鐢熸佸害錛屼笉鑳藉洜涓烘病婊¤凍鑷繁鐨勬湡鏈涙垨鑰呴亣鍒板洶闅炬尗鎶橈紝灝辨秷鏋佹偛瑙傘佺晱闅鵑緙┿佺敋鑷抽搴熷爼钀姐佽嚜鏆磋嚜寮冿紝鏇翠笉鑳藉洜姝よ岃交鐢熴傝鐩鎬俊鐢熸椿鏄編濂界殑錛屽墠閫旀槸鍏夋槑鐨勶紝閬囦簨瑕佹兂寰楀紑錛屽仛浜鴻蹇冭兏璞佽揪錛屽湪鐢熸椿瀹炶返涓笉鏂皟鏁村績鎬侊紝紓ㄧ粌鎰忓織錛屼紭鍖栨ф牸錛屽艦鎴愮儹鐖辯敓鍛斤紝涔愯鍚戜笂鐨勪漢鐢熸佸害銆?
    • 浜虹敓瑕佽繘鍙?/strong>錛涗漢鐢熷疄璺靛氨鏄竴涓垱閫犺繃紼嬨傞傚簲鍘嗗彶鍙戝睍瓚嬪娍錛屼互寮鎷撹繘鍙栫殑鎬佸害榪庢帴浜虹敓鐨勭鎸戞垬錛屽氨鑳戒笉鏂鎮熺編濂戒漢鐢熺殑鐪熻皼錛屼綋楠岀敓媧葷殑蹇箰鍜屽垢紱忋傝縐瀬榪涘彇錛屼笉鏂赴瀵屼漢鐢熺殑鎰忎箟錛屼笉鑳借椽鍥懼畨閫搞佹弧瓚崇幇鐘躲佸洜寰畧鏃с佺紕屾棤涓恒傝鍙戞壃鑷己涓嶆伅銆佹暍涓轟漢鍏堛佺櫨鎶樹笉鎸犮佸潥蹇嶄笉鎷旂殑綺劇錛屽緇堜繚鎸佽摤鍕冩湞姘斻佹槀鎵攼姘旓紝鍏呭垎鍙戞尌鐢熷懡鐨勫垱閫犲姏錛屽湪涓轟粬浜鴻皨紱忓埄銆佷負紺句細浣滆礎鐚腑鍔姏鎻愬崌鐢熷懡鐨勪環鍊鹼紝鍦ㄥ垱閫犱腑涔﹀啓浜虹敓鐨勭伩鐑傜瘒绔犮?/li>
  1. 鐢ㄧ瀛﹂珮灝氱殑浜虹敓瑙傛寚寮曚漢鐢?/strong>

涓涓爲绔嬩簡涓轟漢姘戞湇鍔′漢鐢熻鐨勪漢錛屽氨鑳藉浜虹敓鐨勭洰鐨勬湁鏇翠負娣卞埢鐨勭悊瑙o紝鏃舵椂澶勫涓轟漢姘戠潃鎯籌紝鍔╀漢涓轟箰錛岄犵浜烘皯錛屾垚涓轟漢鍙椾漢姘戞榪庣殑浜恒備竴涓漢鐨勮兘鍔涙湁澶у皬錛岃亴涓氭湁涓嶅悓錛屼絾鍙縐戝璁よ瘑浜虹敓鐩殑錛屽垏瀹炴妸浜烘皯鍒╃泭鏀懼湪棣栦綅錛屼互浜烘皯鍒╃泭涓洪噸錛屼笉涓虹嫮闅樼蹇冩墍鎵幫紝涓嶄負嫻崕鍚嶅埄鎵绱紝涓嶄負浣庝織鐗╂鎵鎯戯紝灝辮兘澶熶笉鏂疄璺甸珮灝氱殑浜虹敓浠峰箋傚叏蹇冨叏鎰忎負浜烘皯鏈嶅姟鐨勭簿紲烇紝姣笉鍒╁繁錛屼笓闂ㄥ埄浜虹殑綺劇搴斿綋鎴愪負鎴戜滑鏃朵唬鏈宕囬珮鐨勭簿紲炪?/p>

浜虹殑涓鐢熸諱細閬囧埌鍚勭鍚勬牱鐨勪漢鐢熷閬囷紝鍙鏍戠珛涓轟漢姘戞湇鍔$殑浜虹敓瑙傦紝灝辮兘浠ョН鏋佺殑蹇冩佺湅寰呬漢鐢熺殑鎰忎箟錛屾妸涓漢鐨勫姫鍔涗笌浜烘皯鐨勪簨涓氱粨鍚堣搗鏉ワ紝鑳告榪滃ぇ鐞嗘兂錛岀Н鏋佹姇韜ぞ浼氬疄璺碉紝鐑埍鐢熸椿錛岀弽瑙嗙敓鍛斤紝鐢ㄥ潥蹇嶄笉鎷旂殑鎰忓織鍕囨暍鎴樿儨鐢熸椿銆佸涔犲拰宸ヤ綔涓縐嶅洶闅懼拰鎸姌錛屽湪涓嶆柇鐨勫紑鎷撲漢鐢熸洿楂樺鐣屼腑棰嗕細鐢熸椿鐨勭編濂姐?/p>

浜屻佸垱閫犳湁浠峰肩殑浜虹敓

  • 浠峰艱涓庝漢鐢熶環鍊?
    • 浠峰艱鏄漢浠叧浜庝粈涔堟槸浠峰箋佹庢牱璇勫垽浠峰箋佸浣曞垱閫犱環鍊肩瓑闂鐨勬牴鏈鐐廣?
    • 浜虹敓浠峰兼槸涓縐嶇壒孌婄殑浠峰鹼紝鏄漢鐨勭敓媧誨疄璺靛浜庣ぞ浼氬拰涓漢鎵鍏鋒湁鐨勪綔鐢ㄧ殑鎰忎箟銆傞夋嫨浠涔堟牱鐨勭洰鐨勶紝璧頒粈涔堟牱鐨勪漢鐢熼亾璺紝濡備綍澶勭悊鐢熷懡鍘嗙▼涓釜浜轟笌紺句細銆佺幇瀹炰笌鐞嗘兂銆佷粯鍑轟笌鏀惰幏銆佽韓涓庡績銆佺敓姝葷瓑涓緋誨垪鐭涚浘錛屼漢浠繪槸鏈夋墍鍙栬垗錛屾湁鎵濂芥伓錛屽浜庤禐鎴愪粈涔堛佸弽瀵逛粈涔堬紝璁ゅ悓浠涔堟姷鍒朵粈涔堬紝鎬繪湁涓瀹氱殑鏍囧噯銆備漢鐢熶環鍊煎氨鏄漢浠粠浠峰艱搴﹁冭檻浜虹敓闂鐨勬牴鎹?/li>
  • 浜虹敓浠峰肩殑鏍囧噯涓庤瘎浠?
    • 浜虹敓鐨勮嚜鎴戜環鍊間笌紺句細浠峰鹼紱
    • 浜虹敓浠峰肩殑鏍囧噯錛涗漢鐢熶環鍊艱瘎浠風殑鏍規湰灝哄害鏄湅涓涓漢鐨勪漢鐢熸椿鍔ㄦ槸鍚︾鍚堢ぞ浼氬彂灞曠殑瀹㈣瑙勫緥錛屾槸鍚﹂氳繃瀹炶返淇冭繘浜嗗巻鍙茬殑榪涙銆傚姵鍔ㄥ強閫氳繃鍔沖姩瀵圭ぞ浼氬拰浠栦漢浣滃嚭鐨勮礎鐚紝鏄ぞ浼氳瘎浠蜂竴涓漢鐨勪漢鐢熶環鍊肩殑鏅亶鏍囧噯銆?
    • 浜虹敓浠峰肩殑璇勪環
      • 鍧氭寔鑳藉姏鏈夊ぇ灝忎笌璐$尞欏誨敖鍔涚浉緇熶竴錛?
      • 鍧氭寔鐗╄川璐$尞涓庣簿紲炶礎鐚浉緇熶竴錛?
      • 鍧氭寔瀹屽杽鑷韓涓庤礎鐚ぞ浼氱浉緇熶竴錛?
      • 鍧氭寔鍔ㄦ満涓庢晥鏋滅浉緇熶竴錛?/li>
  • 浜虹敓浠峰煎疄鐜扮殑鏉′歡
    • 浜虹敓浠峰煎疄鐜扮殑紺句細鏉′歡
      • 瀹炵幇浜虹敓浠峰艱浠庣ぞ浼氬瑙傛潯浠跺嚭鍙戯紱
      • 浜虹敓浠峰艱鐩爣瑕佷笌紺句細涓諱箟鏍稿績浠峰間綋緋葷浉涓鑷達紱
    • 浜虹敓浠峰煎疄鐜扮殑涓漢鏉′歡
      • 瀹炵幇浜虹敓浠峰艱浠庝釜浣撹嚜韜潯浠跺嚭鍙戙備釜浣撹嚜韜潯浠朵富瑕佸寘鎷竴涓漢鐨勬濇兂閬撳痙绱犺川銆佺瀛︽枃鍖栫礌璐ㄣ佺敓鐞嗗績鐞嗙礌璐ㄧ瓑鏂歸潰鐨勮绱犮?
      • 涓嶆柇鎻愰珮鑷韓鑳藉姏錛屽寮哄疄鐜頒漢鐢熶環鍊肩殑鏈銆備漢鍦ㄨ嚜鐒跺ぉ璧嬩笂鏈夊樊寮傦紝浣嗚繖騫朵笉鏄浜虹殑涓昏鍔姏涓嶈搗浣滅敤銆備釜浜虹殑涓昏鍔姏錛屽湪鐩稿綋澶х殑紼嬪簭涓婂喅瀹氱潃涓涓漢鐨勪漢鐢熶環鍊肩殑瀹炵幇紼嬪簭銆備漢鐨勮兘鍔涘叿鏈夌瘡縐晥搴旓紝鑳藉閫氳繃瀛︿範銆侀敾鐐艱屽緱鍒板己鍖栥傞渶瑕佹湁閲忓彉鐨勭Н绱紝涓鴻川鍙樺仛鍑嗗銆?
      • 绔嬭凍浜庣幇瀹烇紝鍧氬畧宀椾綅浣滆礎鐚紱
      • 瀹炵幇浜虹敓浠峰艱鏈夎嚜寮轟笉鎭殑綺劇銆?#8220;澶╄鍋ワ紝鍚涘瓙浠ヨ嚜寮轟笉鎭?#8221;瑕佸疄鐜頒漢鐢熶環鍊鹼紝闇瑕佸湪瀹炶返涓戶鎵垮拰寮樻壃榪欑鑷己涓嶆伅鐨勭簿紲炪傜晱鎯у姵鑻︼紝璐浘瀹夐革紝鍧愪韓鍏舵垚錛屾渶緇堝彧鑳借櫄搴﹀勾鍗庯紝鎶辨喚緇堢敓銆傚彧瑕佸緇堜繚鎸佽嚜寮轟笉鎭殑綺劇鐘舵侊紝浜虹敓緇堜細鏈変環鍊箋?/li>
    • 鍦ㄥ疄璺典腑鍒涢犳湁浠峰肩殑浜虹敓
      • 璧頒笌浜烘皯緹や紬鐩哥粨鍚堢殑閬撹礬錛?
      • 璧頒笌紺句細瀹炶返鐩哥粨鍚堢殑閬撹礬錛涜壈杈涚煡浜虹敓錛屽疄璺甸暱鎵嶅共銆備笉浠呰鍒昏嫤瀛︿範涔︽湰鐭ヨ瘑錛岃繕瑕佸姫鍔涗笌紺句細瀹炶返鐩哥粨鍚堬紝鍦ㄧぞ浼氬疄璺典腑鎺㈡眰鐪熺煡銆?/li>

涓夈佺瀛﹀寰呬漢鐢熺幆澧?/h3>
  • 淇冭繘鑷垜韜績鐨勫拰璋愶紱
  • 淇冭繘涓漢涓庝粬浜虹殑鍜岃皭錛涘湪澶勭悊涓漢涓庝粬浜虹殑鍏崇郴錛屽叧閿槸瑕佸鐞嗗ソ涓漢涓庝粬浜虹殑鍒╃泭鍏崇郴錛?
  • 淇冭繘涓漢涓庣ぞ浼氱殑鍜岃皭錛?
  • 淇冭繘浜轟笌鑷劧鐨勫拰璋愶紱


eryar 2012-06-30 20:22 鍙戣〃璇勮
]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              在线视频日韩精品| 亚洲高清免费在线| 国产精品99久久久久久人| 亚洲精品精选| 欧美日本国产视频| 亚洲视频久久| 午夜免费久久久久| 亚洲电影观看| 亚洲美女免费精品视频在线观看| 欧美三区在线视频| 欧美一区二视频在线免费观看| 欧美在线观看视频在线| 亚洲人成人一区二区三区| 亚洲高清av| 亚洲精一区二区三区| 国产精品久久国产精品99gif| 久久精品二区| 欧美.日韩.国产.一区.二区| 99精品视频免费| 午夜在线精品| av成人动漫| 欧美一区二区三区四区在线| 亚洲人成7777| 亚洲综合色丁香婷婷六月图片| 怡红院精品视频| 一区二区高清在线观看| 狠狠干综合网| 亚洲视频久久| 亚洲精品国产系列| 欧美一区二区| 亚洲色图在线视频| 久久亚洲一区二区| 欧美伊人久久| 欧美日韩在线播放| 欧美sm极限捆绑bd| 国产免费亚洲高清| 日韩一区二区精品葵司在线| 亚洲高清不卡在线观看| 亚洲欧美国产va在线影院| 亚洲卡通欧美制服中文| 久久黄色小说| 欧美中文字幕在线| 欧美日韩卡一卡二| 欧美国产91| 在线观看亚洲| 欧美一区2区视频在线观看 | 国产精品国产精品国产专区不蜜| 欧美大片一区二区三区| 国产午夜精品久久| 亚洲制服欧美中文字幕中文字幕| 日韩视频精品在线观看| 久久午夜av| 美女在线一区二区| 激情欧美一区| 久久久999精品免费| 久久激情综合| 国产日韩欧美一区二区三区四区| 中文在线不卡| 午夜电影亚洲| 国产精品国产三级欧美二区| 日韩午夜激情| 亚洲欧美综合网| 亚洲一区二区影院| 国产精品日本一区二区| 亚洲视频免费在线观看| 亚洲尤物在线| 国产欧美日韩视频在线观看| 亚洲欧美日韩精品久久久久| 欧美亚洲一区二区三区| 国产日韩成人精品| 欧美一区视频| 欧美成人a∨高清免费观看| 亚洲国产精品久久久| 狂野欧美性猛交xxxx巴西| 欧美激情一区二区三区蜜桃视频| 91久久国产综合久久91精品网站 | 亚洲免费激情| 亚洲欧美电影在线观看| 亚洲一区二区三区在线| 欧美亚洲一区三区| 国模精品一区二区三区| 美女日韩欧美| 日韩网站在线| 欧美在线黄色| 精品成人乱色一区二区| 久久亚洲精选| 99热免费精品| 久久电影一区| 亚洲精品乱码久久久久久久久| 欧美国产在线电影| 亚洲香蕉视频| 欧美成熟视频| 亚洲一区视频| 一区二区三区在线观看欧美| 欧美国产一区二区在线观看 | 欧美成人一区二区三区| 国产精品99久久久久久宅男| 国产欧美一区二区三区在线老狼| 久久综合久久久久88| 99ri日韩精品视频| 久久综合久久综合久久综合| 一二三四社区欧美黄| 国产一区二区三区在线免费观看 | 激情欧美一区二区三区| 欧美特黄一区| 久久久噜噜噜久久狠狠50岁| 一区二区欧美视频| 欧美成人在线网站| 亚洲综合精品自拍| 亚洲精品日韩在线| 国产亚洲精品激情久久| 欧美金8天国| 久久国产福利| 亚洲午夜性刺激影院| 欧美激情一区二区久久久| 欧美一区二区在线观看| 宅男噜噜噜66国产日韩在线观看| 一区二区三区在线免费播放| 国产精品女主播一区二区三区| 牛夜精品久久久久久久99黑人| 欧美一区=区| 亚洲一区欧美| 亚洲乱码视频| 亚洲欧洲精品一区二区| 欧美.www| 免费看黄裸体一级大秀欧美| 久久精品国产一区二区三区免费看 | 亚洲三级网站| 在线看日韩欧美| 国产在线播放一区二区三区| 国产精品区一区二区三区| 欧美日韩一级黄| 欧美精品一区二区三区视频| 欧美aaa级| 欧美成人精品福利| 欧美刺激性大交免费视频| 久久久噜噜噜久噜久久| 久久久午夜精品| 久久精品国产第一区二区三区最新章节 | 午夜精品久久久久久久蜜桃app| 99国产精品久久久久老师| 亚洲精品日韩久久| 99re6热在线精品视频播放速度| 欧美伦理91i| 欧美久久久久久久| 欧美日韩一区在线| 欧美日韩精品系列| 国产精品久久久久久久久久久久久久 | 亚洲一区二区三区乱码aⅴ| 一区二区三区日韩欧美精品| 正在播放欧美一区| 亚洲欧美999| 久久精品91| 蜜臀久久久99精品久久久久久| 欧美xx视频| 亚洲另类黄色| 亚洲一区三区电影在线观看| 午夜精品区一区二区三| 久久九九有精品国产23| 免费成人av资源网| 欧美日韩一区国产| 国产欧美日韩一区| 在线观看视频亚洲| 一本色道久久综合亚洲91| 亚洲午夜精品久久久久久浪潮| 欧美一级精品大片| 欧美sm视频| 中文国产一区| 久久福利影视| 欧美精品大片| 国产欧美精品一区| 亚洲风情在线资源站| 亚洲调教视频在线观看| 久久国内精品自在自线400部| 免费看精品久久片| 日韩午夜高潮| 久久全国免费视频| 欧美三区在线视频| 在线电影一区| 亚洲综合精品一区二区| 欧美不卡视频一区发布| 亚洲天堂av高清| 牛牛国产精品| 国产偷自视频区视频一区二区| 最新亚洲视频| 久久国产精品久久久久久| 亚洲国产成人精品女人久久久| 亚洲综合色自拍一区| 欧美国产激情| 国内揄拍国内精品少妇国语| 一区二区三区www| 免费一区二区三区| 午夜精品福利一区二区三区av| 欧美激情视频网站| 尤物yw午夜国产精品视频| 亚洲永久精品大片| 亚洲精选久久| 免费在线观看精品| 一区二区三区在线视频观看| 午夜精品一区二区三区四区|