㈠ MASTERCAM編程軟體 2D的的基本都會編。3D簡單的會一點,但不會畫3惟圖。自學的,請問下一步該怎麼學呢。
先用不同的方法畫一個簡單的長方體線框圖,最重要是理解構圖平面的轉換,熟練後,在機械制圖書里找一些立體圖繪製成立體線框圖,最後再繪製成曲面圖或實體圖。一開始不必畫很難的圖。這個學習方法你可以試一下。
構圖平面可以先確定方向,如TOP、SIDE、FRONT等,再調整Z的值就可以。而各種曲面的畫法不是初學者學習的重點,初學者主要是建立立體繪圖的概念,這些技術突破後,再學習各種曲面就顯得很簡單。否則按照一般的書把每個曲面都畫熟了,但是給一個實際的工程圖,很多人都完成不了。如果想進一步學習,可以留意8月分電子工業出版社會出版《MastercamX5應用技能基本功特訓》一書,專門帶領學習3D等繪圖方法。希望對你有幫助。
㈡ 如何學習游戲編程
題主問怎樣系統學習游戲編程想必是對游戲編程感興趣,正所謂興趣是最好的老師,和題主分享一些系統學習知識。
通過分類的系統學習會對題主有很大的幫助:
游戲開發中的大規模C++軟體架構
游戲編程所需的數學
供調試、源代碼控制及性能剖析的游戲開發工具
引擎基礎系統、渲染、碰撞、物理、角色動畫、游戲世界對象模型等
㈢ Quartz 2D編程指南 (四) —— Paths路徑(一)
路徑定義一個或多個形狀或子路徑。 子路徑可以包含直線,曲線或兩者。 它可以是開放的或封閉的。 子路徑可以是簡單的形狀,例如線,圓,矩形或星形,或者更復雜的形狀,例如山脈的輪廓或抽象塗鴉。 圖3-1顯示了您可以創建的一些路徑。 直線(圖中左上角)是虛線;線條也可以是實心的。 彎曲的路徑(在中間的頂部)由幾條曲線組成,是一條開放的路徑。 同心圓被填充,但沒有被描邊。 加利福尼亞州是一條封閉的道路,由許多曲線和線條組成,路徑既有描邊也有填充。 星星說明了填充路徑的兩個選項,您將在本章後面閱讀這些選項。
在本章中,您將了解構成路徑的構建塊,如何描邊和繪制路徑以及影響路徑外觀的參數。
路徑創建和路徑繪制是單獨的任務。 首先,您創建一個路徑。 如果要渲染路徑,請求 Quartz 繪制它。 如圖3-1所示,您可以選擇描邊路徑,填充路徑,或者描邊和填充路徑。 您還可以使用路徑來約束路徑邊界內其他對象的繪制,實際上是創建剪切區域。
圖3-2顯示了已繪制的路徑,其中包含兩個子路徑。 左邊的子路徑是一個矩形,右邊的子路徑是由直線和曲線組成的抽象形狀。 每個子路徑都被填充並且其輪廓被描邊。
圖3-3顯示了獨立繪制的多條路徑。 每條路徑都包含一條隨機生成的曲線,其中一些曲線已填充,另一些曲線則被描邊。繪圖通過裁剪區域約束到圓形區域。
子路徑由線,弧和曲線構成。 Quartz還提供了便捷功能,可通過單個函數調用添加矩形和橢圓。 點也是路徑的基本構建塊,因為點定義了形狀的起始和結束位置。
點是x和y坐標,用於指定用戶空間中的位置。 您可以調用函數 CGContextMoveToPoint 來指定新子路徑的起始位置。 Quartz跟蹤當前點,這是用於路徑構建的最後位置。 例如,如果調用函數 CGContextMoveToPoint 將位置設置為(10,10),則會將當前點移動到(10,10)。 如果然後繪制一條長50個單位的水平線,則該線上的最後一個點(60,10)將成為當前點。 始終從當前點開始繪制直線,圓弧和曲線。
大多數情況下,通過向Quartz函數傳遞兩個浮點值來指定一個點來指定x和y坐標。 某些函數要求您傳遞 CGPoint 數據結構,該結構包含兩個浮點值。
一條線由其端點定義。 它的起始點始終假定為當前點,因此在創建線時,只指定其端點。 使用函數 CGContextAddLineToPoint 將單行線附加到子路徑。
您可以通過調用函數 CGContextAddLines 將一系列連接的線添加到路徑中。 您將此函數傳遞給一系列點。 第一點必須是第一行的起點,剩下的點是端點。 Quartz在第一個點開始一個新的子路徑,並將一個直線段連接到每個端點。
弧是圓弧段。 Quartz提供了兩個創建弧的函數。 函數 CGContextAddArc 從圓創建一個彎曲的段。 您可以指定圓的中心,半徑和徑向角(以弧度表示)。 您可以通過指定 2 pi 的徑向角度來創建整圓。 圖3-4顯示了獨立繪制的多條路徑。 每條路徑包含一個隨機生成的圓;有些被填滿,有些被描邊。
當您想要對矩形的角進行圓角時, CGContextAddArcToPoint 函數是理想的選擇。 Quartz使用您提供的端點來創建兩條切線。 您還提供了Quartz切割圓弧的圓的半徑。 弧的中心點是兩個半徑的交點,每個半徑垂直於兩條切線中的一條。 弧的每個端點都是其中一條切線上的切點,如圖3-5所示。 圓圈的紅色部分實際上是繪制的。
如果當前路徑已包含子路徑,則Quartz會將當前點的直線段附加到弧的起始點。 如果當前路徑為空,Quartz會在弧的起始點創建一個新的子路徑,並且不會添加初始直線段。
二次和三次Bézier曲線是代數曲線,可以指定任意數量的有趣曲線形狀。 通過將多項式公式應用於起點和終點以及一個或多個控制點來計算這些曲線上的點。 以這種方式定義的形狀是矢量圖形的基礎。 公式比位數組更緊湊更容易存儲,並且具有可以在任何解析度下重新創建曲線的優點。
圖3-6顯示了通過獨立繪制多個路徑創建的各種曲線。 每條路徑包含一條隨機生成的曲線;有些被填滿,有些被描邊。
在許多數學文本和描述計算機圖形的在線資源中討論了產生二次和三次Bézier曲線的多項式公式,以及如何從公式生成曲線的細節。 這里不討論這些細節。
使用 CGContextAddCurveToPoint 函數,使用您指定的控制點和端點,從當前點追加三次貝塞爾曲線。 圖3-7顯示了由圖中所示的當前點,控制點和端點產生的三次Bézier曲線。 兩個控制點的放置決定了曲線的幾何形狀。 如果控制點都在起點和終點之上,則曲線向上拱起。 如果控制點都低於起點和終點,則曲線向下拱起。
您可以通過調用 CGContextAddQuadCurveToPoint 函數並指定控制點和端點,從當前點追加二次Bézier曲線。 圖3-8顯示了使用相同端點但控制點不同的兩條曲線。 控制點確定曲線拱起的方向。 由於二次曲線僅使用一個控制點,因此不可能使用二次貝塞爾曲線創建盡任意多的有趣形狀。 例如,無法使用單個控制點創建交叉。
要關閉當前子路徑,應用程序應調用 CGContextClosePath 。 此函數添加從當前點到子路徑起點的線段,並關閉子路徑。 以子路徑起點結束的直線,圓弧和曲線實際上不會關閉子路徑。 您必須顯式調用 CGContextClosePath 才能關閉子路徑。
一些Quartz函數將路徑的子路徑視為應用程序關閉它們。 這些命令將每個子路徑視為您的應用程序調用 CGContextClosePath 來關閉它,隱式地將一個線段添加到子路徑的起始點。
關閉子路徑後,如果應用程序進行額外調用以向路徑添加直線,圓弧或曲線,Quartz將從剛剛關閉的子路徑的起點開始一個新的子路徑。
橢圓本質上是一個壓扁的圓圈。 您可以通過定義兩個焦點來創建一個焦點,然後繪制位於一定距離的所有點,以便將橢圓上任意點到一個焦點的距離加上到從該點到另一個焦點的距離這個和始終是相同的值。 圖3-9顯示了獨立繪制的多條路徑。 每條路徑包含一個隨機生成的橢圓;有些被填滿,有些被描邊。
您可以通過調用函數 CGContextAddEllipseInRect 將橢圓添加到當前路徑。 您提供了一個定義橢圓邊界的矩形。 Quartz使用一系列Bézier曲線近似橢圓。 橢圓的中心是矩形的中心。 如果矩形的寬度和高度相等(即正方形),則橢圓為圓形,半徑等於矩形寬度(或高度)的一半。 如果矩形的寬度和高度不相等,則它們定義橢圓的長軸和短軸。
添加到路徑的橢圓以移動操作開始,以關閉子路徑操作結束,所有移動都以順時針方向定向。
您可以通過調用函數 CGContextAddRect 將矩形添加到當前路徑。 您提供了一個CGRect結構體,其中包含矩形的原點及其寬度和高度。
添加到路徑的矩形以移動操作開始,以關閉子路徑操作結束,所有移動都以逆時針方向定向。
您可以通過調用 CGContextAddRects 函數並提供CGRect結構數組,將許多矩形添加到當前路徑。 圖3-10顯示了獨立繪制的多條路徑。 每個路徑包含一個隨機生成的矩形;有些被填滿,有些被描邊。
如果要在圖形上下文中構造路徑,可以通過調用函數 CGContextBeginPath 來發出 Quartz 信號。接下來,通過調用函數 CGContextMoveToPoint ,在路徑中設置第一個形狀或子路徑的起點。建立第一個點後,可以在路徑中添加直線,圓弧和曲線,請記住以下內容:
繪制路徑後,將從圖形上下文中刷新它。您可能不希望如此輕易地丟失路徑,特別是如果它描繪了您想要反復使用的復雜場景。因此,Quartz提供了兩種用於創建可重用路徑的數據類型- CGPathRef 和 CGMutablePathRef 。您可以調用函數 CGPathCreateMutable 來創建可變的 CGPath 對象,您可以在其中添加直線,圓弧,曲線和矩形。 Quartz提供了一組CGPath函數,這些函數與 The Building Blocks 中討論的函數並行。路徑函數在 CGPath 對象上運行,而不是在圖形上下文上運行。這些函數是:
有關路徑函數的完整列表,請參閱 Quartz 2D Reference Collection 。
如果要將路徑附加到圖形上下文,請調用函數 CGContextAddPath 。路徑保留在圖形上下文中,直到 Quartz 繪制它。您可以通過調用 CGContextAddPath 再次添加路徑。
㈣ 能編制由直線、圓弧組成的二維輪廓數控加工程序。掌握2D圖形編程、程序登錄、調試及對刀及其檢驗
先加工左邊
O1000
G54X50.Z100.T0505;【對刀,存入G54.並讓刀走到坐標X50.Z100.用切斷刀】
S1000M03【主軸正轉,轉速1000r/m】
G00Z0;【切端面】
GO1X-1;
GOOX40.Z10.;
GO1Z-11.F100;【車外圓】
X41.;【x方向退刀】
GOOX55.Z50.;【使刀遠離工件】
M05【主軸停】
M30;【程序停】
加工右邊
O2000
G55X50.Z45.T0101;【對刀,存入G55.並讓刀走到坐標X50.Z45.用右偏刀】
S1000M03;
G71U1.R0.5;【U忘什麼作用了;R循環時退刀距離】
G71P10Q20U2.W0F300【從第10行到20行;x方向留餘量2mm,y方向不保留】
N10GOOX-1.Z0;【精加工軌跡】
G03X20.Z-20.F300;
N20G01X42.Z-41.;
G70P10Q20;【精加工循環】
G00X50.Z50.;
M05;
M30;
㈤ UG編程怎麼進行2D編程
1、進入UG2D加工模塊,採用2D外形線加工功能。
㈥ 2D編程怎樣避免漏加工
果斷換軟體。
㈦ 2dworld編程語言咋編
強烈建議你先學好C語言,因為C是一種底層的語言,可以直接操作內存,C++是C語言的發展之所以叫C++是包括兩個方面是實現了重載和繼承.類的概念是在結構體的基礎上發展來的,其實結構體也是類.一種只有數據的類.你想學習編寫游戲,那一定是基於窗口的,還是建議你學習VC,DX是一種游戲的借口其實質就是為了加速硬體.如果你還有不明白的地方可以給我留言.
㈧ mastercam編程學習時,切記什麼都想學。
學習masterCAM和學習其它的軟體一樣。首先要有學習的恆心。x0dx0a1、每天給自己一個目標該學些什麼內容。x0dx0a2、當你要學習的時候請把QQ和所有聊天工具關啦,用100%的專心去學習。x0dx0a3、在論壇里下的資料要去用心去看去學。切記整天泡論壇下資料而沒有實質的學習行動。x0dx0a4、學習任何一個軟體都是一樣首先我們要有必需的專業基礎知識。如機械制圖其是最為重要的一個基礎學科之一。x0dx0a5、學CAM部分還要有一定的切削知識和加工經驗(包普通機床加工經驗)。x0dx0a6、學習理論知識和學習實操經驗同等重要,一些最為基本的學習必不可少往往初學者只注重於實例教程的學習。從而忽略啦理論。應二者相結合。才能達到最理想的學習效果。x0dx0a7、學習masterCAM的同時不利於同時學其它的軟體,因為往往同時學幾個軟體而出現軟體應用功能混亂的局面。學軟體要用單個突破的方法。x0dx0a8、Sample Text切記什麼都想學。結果什麼都學不精。都知皮毛。x0dx0a用Mastercam的心得,功能、技巧x0dx0a一、2D銑削x0dx0aMastercam編程的特色是快捷、方便。這一特色體現在2D刀路上尤為突出。x0dx0a1、Mastercam的串聯非常快捷,只要你抽出的曲線是連續的。若不連續,也非常容易檢查出來哪裡有斷點。一個簡單的方法是:用分析命令,將公差設為最少,為0.00005,然後去選擇看似連續的曲線,通不過的地方就是有問題的。可用曲線融接的方法迅速搞定。x0dx0a總之,在Mastercam中,只要先將加工零件的輪廓邊現、台階線、孔、槽位線等等,全部搞定,接下來的cam操作就很方便了。x0dx0a2、由於Mastercam的2d串聯方便快速,所以不論你一次性加工的工件含有多少輪廓線,總是很容易的全部選取下來。一個特大的好處是:串聯的起始處便是進刀圓弧(通常要設定進刀弧)所在處。x0dx0a3、流道或多曲線加工時,往往有許多的曲線要選取,由於不需要偏置刀半徑,在Mastercam中,可以用框選法一次選取x0dx0a二、3D曲面挖槽:x0dx0aMastercam的開粗x0dx0a1、鑼銅公或公模,最好不要在工件裡面下刀。Mastercam可以方便的選取一個點作為每次的下刀點,當然這個點在工件外,但也不要偏離工件太遠。Mastercam的這一功能設計得非常好,提刀少,效率高,且基本上可以保證下刀點在同一點,加工比較安全。x0dx0a 2、若用此方式鑼型腔,或銅公的低窪處,螺旋下刀很重要,螺旋下刀角度盡可能少點。銅料3到5度適宜,鋼料不要超過5度,我以為最好2度。加工起來比較平穩,沒什麼大的噪音。x0dx0a3、一個重要的設定:if all entry attempts fail請選擇skip。否則,銑到底部不能螺旋或斜線下刀時,就會直插下來。x0dx0a4、一個絕招:曲面挖槽時,在螺旋下刀參數欄中,將「follow boundary」打上勾。這個功能也許用到的人不多。可作用卻是大大的好。它可以令刀具下到工件的最深處,且環繞式下刀,而不是直插!x0dx0a三、3D流道的加工:x0dx0a注意是3D而不是2D;是坡度較大的3D而不是較平坦的3D。x0dx0a1、在Mastercam中,如果是加工較平坦的3d面的流道,運用3d曲線加工的功能最好。但如果破度較大,或者像波浪形一樣。便要用投影加工的方法,將3d流道的中心線投影到面上。然後分許多次負補正的往下加工到球刀刀半徑的深度。x0dx0a四、關於平行銑削:x0dx0aMastercam用平行銑削加工方式的使用率最高。缺點是:有一邊陡峭的地方會銑得不好。x0dx0aMastercam中有一個絕好的走刀方式,是曲面精加工中的scallop。Mastercam中的此刀路非常好用,有人反映說計算費時。但如果誤差設為一個絲,計算速度也不慢,加工出來的效果已經很好了。我比較過,公差一絲和半絲鑼出來的東西看起來差不多。x0dx0a五、關於清角:x0dx0aMastercam清角一定要用從外向內(即角落)的方式。這在Mastercam里是預設好的x0dx0a六、關於刀具的調用:x0dx0a在Mastercam里,建立一把刀具的同時就設定刀具的直徑、r角、轉數,進給率等參數一次性設定好。以後調用此刀時,就不需要每次都設定轉數,進給率了。x0dx0a七、平行銑削的深度設定:x0dx0a1、Mastercam里,曲面加工也能定義銑削深度,這是一個絕好的功能!x0dx0a2、有些情況下,可能不想讓球刀銑那麼深,或者計算出來發現銑到下面的平面了,只要稍微淺一點點就可以了,在Mastercam里,就可以通過調整cut depths而得到很好的控制,保證刀具不碰到底下的平面。x0dx0a八、關於平刀補正的問題:x0dx0a銑曲面時,Mastercam(據說x版本的可以,但我沒試過)和UG都不能將平刀作負值補正。我覺得最好的辦法是編程時,將刀的實際大小減去單邊負補正量*2。有人說給刀加個r角就可以負補正。這真是沒有好好去研究才這樣說和做的。x0dx0a加r角不是不可以,但要看情況,如果斜度不大的面,可以這樣做,加個盡可能小的r角;但如果是斜度較大的面,如果還用此法,則實際加工出來的尺寸與預計的尺寸會小太多,r角設得越大,則誤差越大。粗公小一點還無所謂,若是後模,只怕不太好。x0dx0a九、關於轉數問題:x0dx0a用小的刀,當然轉數要高。但也不是一定給得相當的高才行,直讓機床呼啦啦轉得喘不過氣來一般。各位能想像得到不?我用普通的機床,用自己磨的0.1的刀,能加工長、寬不到2mm的鋼印浮凸字模,轉數才4000轉!進給率也不低,十六個凸字模只用一個小時。一般人大概以為要幾萬轉、一定要雕刻機才行。搞cnc編程的,好多方法要自己去發現,不要因襲別人的、流傳的方法,而變得畏手畏腳,不敢去開創新的方法。x0dx0a十、後處理:x0dx0aMastercam的確是大眾化的軟體,所以它的使用覆蓋面極為廣。早些年,cnc編程業如日中天的時候,有幾個人不是用Mastercam?Mastercam編程快捷,後處理出來的nc程式也十分安全,值得放心使用。我搞cnc編程用過三種不同的機床,從沒有一種機床因為Mastercam的後處理而發生過任何問題。除了特種機型的加工中心,一般的電腦鑼都能暢通無礙的讀取Mastercam產生出來的nc程式!初學者一般不用為後處理而頭痛。這一點非常令人稱嘆!
㈨ 2D游戲編程需要什麼軟體
你可以先去【繪學霸】網站找「游戲設計/游戲製作」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y04r-418365887
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y04r-418365887
在「游戲設計/游戲製作」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html