㈠ 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