alias东风_apw东风
在接下来的时间里,我将为大家提供一些关于alias东风的信息,并尽力回答大家的问题。让我们开始探讨一下alias东风的话题吧。
1.proe标准零件库中的数据为什么不能更改
2.在用proe绘制边界的时,为什么不能设置三个约束呢
3.如何配置一个 Docker 化持续集成的 PHP 开发环境
proe标准零件库中的数据为什么不能更改
机械设计用catia proe ug多一些 设计出来可以进行实体生产的
catia 汽车飞机制造行业用的多 功能最为强大 cadcaecam功能都有
是目前功能最全的软件 光模块就有几十个之多 能够实现电子样机 造型设计 运动仿真 简单的有限元分析 模具设计 甚至还有电路图布线 工厂布局等模块 一架完整的波音777能够用catia实现无图纸设计 你说catia的功能如何?
ug 汽车行业也用
proe汽车零部件行业用的多 小型产品用的多
单纯的工业设计只看外形的3dmax用的多一些 游戏人物造型啥的 但是3dmax做的作品并不能用于机械方面的设计加工 只是虚拟的东西
做造型设计的还有rhino 也就是犀牛 cinema 4d好像是渲染比较强
inventor好像是也是搞机械设计用的
catia
CATIA是法国达索公司的产品开发旗舰解决方案。作为PLM协同解决方案的一个重要组成部分,它可以帮助制造厂商设计他们未来的产品,并支持从项目前阶段、具体的设计、分析、模拟、组装到维护在内的全部工业设计流程。
模块化的CATIA系列产品旨在满足客户在产品开发活动中的需要,包括风格和外型设计、机械设计、设备与系统工程、管理数字样机、机械加工、分析和模拟。CATIA产品基于开放式可扩展的V5架构。
通过使企业能够重用产品设计知识,缩短开发周期,CATIA解决方案加快企业对市场的需求的反应。自1999年以来,市场上广泛采用它的数字样机流程,从而使之成为世界上最常用的产品开发系统。
CATIA系列产品已经在七大领域里成为首要的3D设计和模拟解决方案:汽车、航空航天、船舶制造、厂房设计、电力与电子、消费品和通用机械制造。
CATIA先进的混合建模技术
设计对象的混合建模:在CATIA的设计环境中,无论是实体还是曲面,做到了真正的互操作;
变量和参数化混合建模:在设计时,设计者不必考虑如何参数化设计目标,CATIA提供了变量驱动及后参数化能力。
几何和智能工程混合建模:对于一个企业,可以将企业多年的经验积累到CATIA的知识库中,用于指导本企业新手,或指导新车型的开发,加速新型号推向市场的时间。
CATIA具有在整个产品周期内的方便的修改能力,尤其是后期修改性
无论是实体建模还是曲面造型,由于CATIA提供了智能化的树结构,用户可方便快捷的对产品进行重复修改,即使是在设计的最后阶段需要做重大的修改,或者是对原有方案的更新换代,对于CATIA来说,都是非常容易的事。
CATIA所有模块具有全相关性
CATIA的各个模块基于统一的数据平台,因此CATIA的各个模块存在着真正的全相关性,三维模型的修改,能完全体现在二维,以及有限元分析,模具和数控加工的程序中。
并行工程的设计环境使得设计周期大大缩短
CATIA 提供的多模型链接的工作环境及混合建模方式,使得并行工程设计模式已不再是新鲜的概念,总体设计部门只要将基本的结构尺寸发放出去,各分系统的人员便可开始工作,既可协同工作,又不互相牵连;由于模型之间的互相联结性,使得上游设计结果可做为下游的参考,同时,上游对设计的修改能直接影响到下游工作的刷新。实现真正的并行工程设计环境。
CATIA覆盖了产品开发的整个过程
CATIA 提供了完备的设计能力:从产品的概念设计到最终产品的形成,以其精确可靠的解决方案提供了完整的2D、3D、参数化混合建模及数据管理手段,从单个零件的设计到最终电子样机的建立;同时,作为一个完全集成化的软件系统,CATIA将机械设计,工程分析及仿真,数控加工和CATweb网络应用解决方案有机的结合在一起,为用户提供严密的无纸工作环境,特别是CATIA中的针对汽车、摩托车业的专用模块,使CATIA拥有了最宽广的专业覆盖面,从而帮助客户达到缩短设计生产周期、提高产品质量及降低费用的目的。
CATIA拥有远远强于其竞争对手的曲面设计模块,在此有必要介绍一下:
1.Generic Shape Design, GSD,创成式造型,非常完整的曲线操作工具和最基础的曲面构造工具,除了可以完成所以曲线操作以外,可以完成拉伸,旋转,扫描,边界填补,桥接,修补碎片,拼接,凸点,裁剪,光顺,投影和高级投影,倒角等功能,连续性最高达到G2,生成封闭片体Volume,完全达到普通三维CAD软件曲面造型功能,比如Pro/E。完全参数化操作。
2.Free Style Surface, FSS, 自由风格造型,几乎完全非参。除了包括GSD中的所有功能以外,还可完成诸如曲面控制点(可实现多曲面到整个产品外形同步调整控制点、变形),自由约束边界,去除参数,达到汽车A面标准的曲面桥接、倒角、光顺等功能,所有命令都可以非常轻松的达到G2。凭借GSD和FSS,CATIA曲面功能已经超越了所有CAD软件,甚至同为汽车行业竞争对手的UG NX。
3.Automotive Class A, ACA,汽车A级曲面,完全非参,此模块提供了强大的曲线曲面编辑功能,和无比强大的一键曲面光顺功能。几乎所有命令可达到G3,而且不破坏原有光顺外形。可实现多曲面甚至整个产品外形的同步曲面操作(控制点拖动,光顺,倒角等)。对于丰田等对A级曲面要求近乎疯狂(全G3连续等)的要求,可应付自如。目前只有纯造型软件,比如Alias, Rinho可以达到这个高度,却达不到CATIA的高精度。
4.FreeStyle Sketch Tracer,FST,自由风格草图绘制,可根据产品的三视图或照片描出基本外形曲线。
5.Digitized Shape Editor,DSE,数字曲面编辑器,根据输入的点云数据,进行采样,编辑,裁剪已达到最接近产品外形的要求,可生成高质量的mesh小三角片体。完全非参。
6.Quick Surface Reconstruction, 快速曲面重构,根据输入的点云数据或者mesh以后的小三角片体,提供各种方式生成曲线,以供曲面造型,完全非参。
7.Shape Sculpter, 小三角片体外形编辑,可以对小三角片体进行各种操作,功能几乎强大到与CATIA曲面操作相同,完全非参。
8.Automotive BIW Fastening,汽车白车身紧固,设计汽车白车身各钣金件之间的焊接方式和焊接几何尺寸。
9.Image & Shape,可以像捏橡皮泥一样拖动,拉伸,扭转产品外形、增加“橡皮泥块”等方式以达到理想的设计外形。可以极其快速的完成产品外形概念设计。
1~9包括在Shape design & Styling模块中
10.Healing Assistant,一个极其强大的曲面缝补工具,可以将各种破面缺陷自动找出并缝补。
CATIA比较广泛的用于汽车、航空航天、轮船、军工、仪器仪表、建筑工程、电气管道、通信等方方面面。
最大的客户有:通用(同时使用UG),波音麦道,空客,福特,大众,戴克,宝马,沃尔沃,标致雪铁龙,丰田,本田,雷诺,达索飞机,菲亚特,三菱汽车,西门子,博世,现代,起亚,中国的上汽,一汽,东风等大公司。欧盟以及其成员国军方,美国军方都是其忠实的用户。
CATIA V4版本具有强大的曲面、结构设计能力,无以伦比的精度,目前为以上客户的主要设计软件。波音777飞机除了发动机以外的所有零部件以及总装完全采用CATIA V4,从概念设计到最后调试运行成功实现完全无纸化办公。可见CATIA功能之强大。
CATIA V4只能运行在IBM的UNIX图形工作站上,为了更通用的运行于各种不同的图形工作站平台和PC,V5随之诞生,它包括服务器-工作站版本和单机节点版本,工作站版本可运行于各种类型的图形工作站和Windows或各种版本的Unix操作系统下(Linux下不行),而单机版本可运行于PC机、笔记本上Windows或其他操作系统下。非常赏心悦目的软件界面,较之V4更简单易用但更强大功能使CATIA V5成为福特,丰田等公司转向CATIA的原因,而大众,戴克,标致雪铁龙等公司也因此不遗余力的从V4平台转向V5。
CATIA的竞争对手包括UG NX,Pro/E,Topsolid, Cinmatron。其中NX和Pro/E与CATIA可谓三分天下。目前CATIA在设计与工程软件中占有最多的市场份额。这来源于其如此强大的客户来源和军工背景。与其竞争对手相比,CATIA的优势在于赏心悦目的界面,易用而强大的功能,在汽车、航空航天、造船等专用行业强大的功能支持等,IT老大IBM的全球销售合作。还有很重要的一点,就是来自CATIA母公司,达索系统Dassault Systemes其他兄弟软件的支持:
1. Delmia,强大的生产线规划和管理软件,配合Catia完成制造可行性分析和实施;
2. Inovia,强大的数据管理和设计支持系统
3. Smarteam,强大的PLM软件,与UGS Team Center并列为PLM最成功的软件,PLM的鼻祖。
4. VPM,设计数据共享平台,跨国公司各设计中心可使用此软件进行数据和信息状态共享
5. Solidworks,三维工程软件在全球中端市场的统治者,被达索公司收购后,成为打击其他中端软件的招牌武器,并且有效的支持高端软件CATIA在中低端市场的渗透
6. Abaqus,最强大的FEM软件之一,优势是非线性、动态、隐式计算,成为可以有效解决汽车与航空航天领域复杂问题的有效工具,与LS-DYNA并列为高端CAE软件2巨头。
Catia的历史
CATIA是英文 Computer Aided Tri-Dimensional Interface Application 的缩写。 是世界上一种主流的CAD/CAE/CAM 一体化软件。在70年代Dassault Aviation 成为了第一个用户,CATIA 也应运而生。从1982年到1988年,CATIA 相继发布了1版本、2版本、3版本,并于1993年发布了功能强大的4版本,现在的CATIA 软件分为V4版本和 V5版本两个系列。V4版本应用于UNIX 平台,V5版本应用于UNIX和Windows 两种平台。V5版本的开发开始于1994年。为了使软件能够易学易用,Dassault System 于94年开始重新开发全新的CATIA V5版本,新的V5版本界面更加友好,功能也日趋强大,并且开创了CAD/CAE/CAM 软件的一种全新风格。
法国 Dassault Aviation 是世界著名的航空航天企业。其产品以幻影2000和阵风战斗机最为著名。CATIA的产品开发商Dassault System 成立于1981年。而如今其在CAD/CAE/CAM 以及PDM 领域内的领导地位,已得到世界范围内的承认。其销售利润从最开始的一百万美圆增长到现在的近二十亿美圆。雇员人数由20人发展到2,000多人。
CATIA是法国Dassault System公司的CAD/CAE/CAM一体化软件,居世界CAD/CAE/CAM领域的领导地位,广泛应用于航空航天、汽车制造、造船、机械制造、电子\电器、消费品行业,它的集成解决方案覆盖所有的产品设计与制造领域,其特有的DMU电子样机模块功能及混合建模技术更是推动着企业竞争力和生产力的提高。CATIA 提供方便的解决方案,迎合所有工业领域的大、中、小型企业需要。包括:从大型的波音747飞机、火箭发动机到化妆品的包装盒,几乎涵盖了所有的制造业产品。在世界上有超过13,000的用户选择了CATIA。CATIA 源于航空航天业,但其强大的功能以得到各行业的认可,在欧洲汽车业,已成为事实上的标准。CATIA 的著名用户包括波音、克莱斯勒、宝马、奔驰等一大批知名企业。其用户群体在世界制造业中具有举足轻重的地位。波音飞机公司使用CATIA完成了整个波音777的电子装配,创造了业界的一个奇迹,从而也确定了CATIA 在CAD/CAE/CAM 行业内的领先地位。
CATIA V5版本是IBM和达索系统公司长期以来在为数字化企业服务过程中不断探索的结晶。围绕数字化产品和电子商务集成概念进行系统结构设计的CATIA V5版本,可为数字化企业建立一个针对产品整个开发过程的工作环境。在这个环境中,可以对产品开发过程的各个方面进行仿真,并能够实现工程人员和非工程人员之间的电子通信。产品整个开发过程包括概念设计、详细设计、工程分析、成品定义和制造乃至成品在整个生命周期中的使用和维护。CATIA V5版本具有:
1.重新构造的新一代体系结构
为确保CATIA产品系列的发展,CATIA V5新的体系结构突破传统的设计技术,采用了新一代的技术和标准,可快速地适应
企业的业务发展需求,使客户具有更大的竞争优势。
2.支持不同应用层次的可扩充性
CATIA V5对于开发过程、功能和硬件平台可以进行灵活的搭配组合,可为产品开发链中的每个专业成员配置最
合理的解决方案。允许任意配置的解决方案可满足从最小的供货商到最大的跨国公司的需要。
3.与NT和UNIX硬件平台的独立性
CATIA V5是在Windows NT平台和UNIX平台上开发完成的,并在所有所支持的硬件平台上具有统一的数据、功能、
版本发放日期、操作环境和应用支持。CATIA V5在Windows平台的应用可使设计师更加简便地同办公应用系统共享数据;而
UNIX平台上NT风格的用户界面,可使用户在UNIX平台上高效地处理复杂的工作。
4.专用知识的捕捉和重复使用
CATIA V5结合了显式知识规则的优点,可在设计过程中交互式捕捉设计意图,定义产品的性能和变化。隐式的
经验知识变成了显式的专用知识,提高了设计的自动化程度,降低了设计错误的风险。
5.给现存客户平稳升级
CATIA V4和V5具有兼容性,两个系统可并行使用。对于现有的CATIA V4用户,V5年引领他们迈向NT世界。对于新的
CATIA V5客户,可充分利用CATIA V4成熟的后续应用产品,组成一个完整的产品开发环境。
航空航天:
CATIA 源于航空航天工业,是业界无可争辩的领袖。以其精确安全,可靠性满足商业、防御和航空航天领域各种应用的需要。在航空航天业的多个项目中,CATIA 被应用于开发虚拟的原型机,其中包括Boeing飞机公司(美国)的Boeing 777 和Boeing 737,Dassault 飞机公司(法国)的阵风(Rafale)战斗机、Bombardier飞机公司(加拿大)的Global Express 公务机、以及Lockheed Martin飞机公司(美国)的Darkstar无人驾驶侦察机。Boeing飞机公司在Boeing 777项目中,应用CATIA设计了除发动机以外的100%的机械零件。并将包括发动机在内的100%的零件进行了预装配。Boeing 777也是迄今为止,唯一进行100%数字化设计和装配的大型喷气客机。参与Boeing 777项目的工程师、工装设计师、技师以及项目管理人员超过1700人,分布于美国、日本、英国的不同地区。他们通过1,400套CATIA 工作站联系在一起,进行并行工作。Boeing 的设计人员对777的全部零件进行了三维实体造型,并在计算机上对整个777进行了全尺寸的预装配。预装配使工程师不必再制造一个物理样机,工程师在预装配的数字样机上即可检查和修改设计中的干涉和不协调。Boeing 飞机公司宣布在777项目中,与传统设计和装配流程相比较,由于应用CATIA节省了50%的重复工作和错误修改时间。尽管首架777的研发时间与应用传统设计流程的其他机型相比,其节省的时间并不是非常的显著,但Boeing飞机公司预计,777后继机型的开发至少可节省50%的时间。CATIA 的后参数化处理功能在777的设计中也显示出了其优越性和强大功能。为迎合特殊用户的需求,利用CATIA 的参数化设计,Boeing 公司不必重新设计和建立物理样机,只需进行参数更改,就可以得到满足用户需要的电子样机,用户可以在计算机上进行预览。
汽车工业:
CATIA是汽车工业的事实标准,是欧洲、北美和亚洲顶尖汽车制造商所用的核心系统。CATIA 在造型风格、车身及引擎设计等方面具有独特的长处,为各种车辆的设计和制造提供了端对端(end to end )的解决方案。CATIA 涉及产品、加工和人三个关键领域。CATIA 的可伸缩性和并行工程能力可显著缩短产品上市时间。
一级方程式赛车、跑车、轿车、卡车、商用车、有轨电车、地铁列车、高速列车,各种车辆在CATIA 上都可以作为数字化产品,在数字化工厂内,通过数字化流程,进行数字化工程实施。CATIA 的技术在汽车工业领域内是无人可及的,并且被各国的汽车零部件供应商所认可。从近来一些著名汽车制造商所做的采购决定,如Renault、Toyota、Karman 、Volvo、Chrysler 等,足以证明数字化车辆的发展动态。 Scania 是居于世界领先地位的卡车制造商,总部位于瑞典。其卡车年产量超过50,000辆。当其他竞争对手的卡车零部件还在25,000个左右时,Scania公司借助于CATIA系统,已经将卡车零部件减少了一半。现在,Scania 公司在整个卡车研制开发过程中,使用更多的分析仿真,以缩短开发周期,提高卡车的性能和维护性。CATIA 系统是Scania 公司的主要CAD/CAM 系统,全部用于卡车系统和零部件的设计。通过应用这些新的设计工具,如发动机和车身底盘部门CATIA 系统创成式零部件应力分析的应用,支持开发过程中的重复使用等应用,公司已取得了良好的投资回报。现在,为了进一步提高产品的性能,Scania 公司在整个开发过程中,正在推广设计师、分析师和检验部门更加紧密地协同工作方式。这种协调工作方式可使Scania 公司更具市场应变能力,同时又能从物理样机和虚拟数字化样机中不断积累产品知识。
造船工业:
CATIA 为造船工业提供了优秀的解决方案,包括专门的船体产品和船载设备、机械解决方案。船体设计解决方案已被应用于众多船舶制造企业,类似General Dynamics, Meyer Weft 和Delta Marin ,涉及所有类型船舶的零件设计、制造、装配。船体的结构设计与定义是基于三维参数化模型的。参数化管理零件之间的相关性,相关零件的更改,可以影响船体的外型。船体设计解决方案与其他CATIA 产品是完全集成的。传统的CATIA 实体和曲面造型功能用于基本设计和船体光顺。Bath Iron Works 应用GSM (创成式外型设计)作为参数化引擎,进行驱逐舰的概念设计和与其他船舶结构设计解决方案进行数据交换。
4.2版本的CATIA 提供了与Deneb 加工的直接集成,并在与Fincantieri 的协作中得到发展,机器人可进行直线和弧线焊缝的加工并克服了机器人自动线编程的瓶颈。
General Dynamic Electric Boat 和 Newport News Shipbuilding 使用CATIA 设计和建造美国海军的新型弗吉尼亚级攻击潜艇。大量的系统从核反应堆、相关的安全设备到全部的生命支持设备需要一个综合的,有效的产品数据管理系统(PDM)进行整个潜艇产品定义的管理,不仅仅是一个材料单,而是所有三维数字化产品和焊接设备。ENOVIA 提供了强大的数据管理能力。
Meyer Werft 关于CAD 技术的应用在业内一直处于领先地位,从设计、零件、船载设备到试车,涉及造船业的所有方面。在切下第一块钢板前,已经完成了全部产品的三维设计和演示。
Delta Marin 在船舶的设计与制造过程中,依照船体设计舰桥、甲板和推进系统。船主利用4D 漫游器进行浏览和检查。
中国广州的文冲船厂也对CATIA 进行了成功地应用。使用CATIA 进行三维设计,取代了传统的二维设计。
厂房设计:
在丰富经验的基础上,IBM 和Dassault - Systems 为造船业、发电厂、加工厂和工程建筑公司开发了新一代的解决方案。包括管道、装备、结构和自动化文档。CCPlant 是这些行业中的第一个面向对象的知识工程技术的系统。
CCPlant 已被成功应用于Chrysler 及其扩展企业。使用CCPlant 和Deneb 仿真对正在建设中的Toledo 吉普工厂设计进行了修改。费用的节省已经很明显地体现出来。并且对将来企业的运作有着深远的影响。
Haden International 的涂装生产线主要应用于汽车和宇航工业。Haden International 应用CATIA 设计其先进的涂装生产线,CCPlant 明显缩短了设计与安装的时间。 Shell 使用CCPlant 在鹿特丹工厂开发新的生产流程,鹿特丹工厂拥有二千万吨原油的年处理能力,可生产塑料、树脂、橡胶等多种复杂化工产品。
加工和装配:
一个产品仅有设计是不够的,还必须制造出来。CATIA 擅长为棱柱和工具零件作2D/3D关联,分析和NC ;CATIA 规程驱动的混合建模方案保证高速生产和组装精密产品,如机床,医疗器械、胶印机钟表及工厂设备等均能作到一次成功。
在机床工业中,用户要求产品能够迅速地进行精确制造和装配。Dassault System 产品的强大功能使其应用于产品设计与制造的广泛领域。大的制造商像Staubli 从Dassault System 的产品中受益匪浅。Staubli 使用CATIA 设计和制造纺织机械和机器人。Gidding &Lewis使用CATIA 设计和制造大型机床。
Dassault System 产品也同样应用于众多小型企业。象Klipan使用CATIA设计和生产电站的电子终端和控制设备。Polynorm 使用CATIA 设计和制造压力设备。Tweko使用CADAM 设计焊接和切割工具。
消费品:
全球有各种规模的消费品公司信赖CATIA,其中部分原因是CATIA设计的产品的风格新颖,而且具有建模工具和高质量的渲染工具。CATIA已用于设计和制造如下多种产品:餐具、计算机、厨房设备、电视和收音机以及庭院设备。
另外,为了验证一种新的概念在美观和风格选择上达到一致,CATIA 可以从数字化定义的产品,生成具有真实效果的渲染照片。在真实产品生成之前,即可促进产品的销售。
在用proe绘制边界的时,为什么不能设置三个约束呢
catia应该是现在应用比较广泛的。
产品及服务
模块化的CATIA系列产品旨在满足客户在产品开发活动中的需要,包括风格和外型设计、机械设计、设备与系统工程、管理数字样机、机械加工、分析和模拟。CATIA产品基于开放式可扩展的V5架构。
通过使企业能够重用产品设计知识,缩短开发周期,CATIA解决方案加快企业对市场的需求的反应。自1999年以来,市场上广泛采用它的数字样机流程,从而使之成为世界上最常用的产品开发系统。
CATIA系列产品已经在七大领域里成为首要的3D设计和模拟解决方案:汽车、航空航天、船舶制造、厂房设计、电力与电子、消费品和通用机械制造。
[编辑本段]专业技术
CATIA先进的混合建模技术
设计对象的混合建模:在CATIA的设计环境中,无论是实体还是曲面,做到了真正的互操作;
变量和参数化混合建模:在设计时,设计者不必考虑如何参数化设计目标,CATIA提供了变量驱动及后参数化能力。
几何和智能工程混合建模:对于一个企业,可以将企业多年的经验积累到CATIA的知识库中,用于指导本企业新手,或指导新车型的开发,加速新型号推向市场的时间。
CATIA具有在整个产品周期内的方便的修改能力,尤其是后期修改性
无论是实体建模还是曲面造型,由于CATIA提供了智能化的树结构,用户可方便快捷的对产品进行重复修改,即使是在设计的最后阶段需要做重大的修改,或者是对原有方案的更新换代,对于CATIA来说,都是非常容易的事。
CATIA所有模块具有全相关性
CATIA的各个模块基于统一的数据平台,因此CATIA的各个模块存在着真正的全相关性,三维模型的修改,能完全体现在二维,以及有限元分析,模具和数控加工的程序中。
并行工程的设计环境使得设计周期大大缩短
CATIA 提供的多模型链接的工作环境及混合建模方式,使得并行工程设计模式已不再是新鲜的概念,总体设计部门只要将基本的结构尺寸发放出去,各分系统的人员便可开始工作,既可协同工作,又不互相牵连;由于模型之间的互相联结性,使得上游设计结果可做为下游的参考,同时,上游对设计的修改能直接影响到下游工作的刷新。实现真正的并行工程设计环境。
CATIA覆盖了产品开发的整个过程
CATIA 提供了完备的设计能力:从产品的概念设计到最终产品的形成,以其精确可靠的解决方案提供了完整的2D、3D、参数化混合建模及数据管理手段,从单个零件的设计到最终电子样机的建立;同时,作为一个完全集成化的软件系统,CATIA将机械设计,工程分析及仿真,数控加工和CATweb网络应用解决方案有机的结合在一起,为用户提供严密的无纸工作环境,特别是CATIA中的针对汽车、摩托车业的专用模块,使CATIA拥有了最宽广的专业覆盖面,从而帮助客户达到缩短设计生产周期、提高产品质量及降低费用的目的。
[编辑本段]优势
CATIA拥有远远强于其竞争对手的曲面设计模块,在此有必要介绍一下:
1.Generic Shape Design, GSD,创成式造型,非常完整的曲线操作工具和最基础的曲面构造工具,除了可以完成所以曲线操作以外,可以完成拉伸,旋转,扫描,边界填补,桥接,修补碎片,拼接,凸点,裁剪,光顺,投影和高级投影,倒角等功能,连续性最高达到G2,生成封闭片体Volume,完全达到普通三维CAD软件曲面造型功能,比如Pro/E。完全参数化操作。
2.Free Style Surface, FSS, 自由风格造型,几乎完全非参。除了包括GSD中的所有功能以外,还可完成诸如曲面控制点(可实现多曲面到整个产品外形同步调整控制点、变形),自由约束边界,去除参数,达到汽车A面标准的曲面桥接、倒角、光顺等功能,所有命令都可以非常轻松的达到G2。凭借GSD和FSS,CATIA曲面功能已经超越了所有CAD软件,甚至同为汽车行业竞争对手的UG NX。
3.Automotive Class A, ACA,汽车A级曲面,完全非参,此模块提供了强大的曲线曲面编辑功能,和无比强大的一键曲面光顺功能。几乎所有命令可达到G3,而且不破坏原有光顺外形。可实现多曲面甚至整个产品外形的同步曲面操作(控制点拖动,光顺,倒角等)。对于丰田等对A级曲面要求近乎疯狂(全G3连续等)的要求,可应付自如。目前只有纯造型软件,比如Alias, Rinho可以达到这个高度,却达不到CATIA的高精度。
4.FreeStyle Sketch Tracer,FST,自由风格草图绘制,可根据产品的三视图或照片描出基本外形曲线。
5.Digitized Shape Editor,DSE,数字曲面编辑器,根据输入的点云数据,进行采样,编辑,裁剪已达到最接近产品外形的要求,可生成高质量的mesh小三角片体。完全非参。
6.Quick Surface Reconstruction, 快速曲面重构,根据输入的点云数据或者mesh以后的小三角片体,提供各种方式生成曲线,以供曲面造型,完全非参。
7.Shape Sculpter, 小三角片体外形编辑,可以对小三角片体进行各种操作,功能几乎强大到与CATIA曲面操作相同,完全非参。
8.Automotive BIW Fastening,汽车白车身紧固,设计汽车白车身各钣金件之间的焊接方式和焊接几何尺寸。
9.Image & Shape,可以像捏橡皮泥一样拖动,拉伸,扭转产品外形、增加“橡皮泥块”等方式以达到理想的设计外形。可以极其快速的完成产品外形概念设计。
1~9包括在Shape design & Styling模块中
10.Healing Assistant,一个极其强大的曲面缝补工具,可以将各种破面缺陷自动找出并缝补。
CATIA比较广泛的用于汽车、航空航天、轮船、军工、仪器仪表、建筑工程、电气管道、通信等方方面面。
最大的客户有:通用(同时使用UG),波音麦道,空客,福特,大众,戴克,宝马,沃尔沃,标致雪铁龙,丰田,本田,雷诺,达索飞机,菲亚特,三菱汽车,西门子,博世,现代,起亚,中国的上汽,一汽,东风等大公司。欧盟以及其成员国军方,美国军方都是其忠实的用户。
CATIA V4版本具有强大的曲面、结构设计能力,无以伦比的精度,目前为以上客户的主要设计软件。波音777飞机除了发动机以外的所有零部件以及总装完全采用CATIA V4,从概念设计到最后调试运行成功实现完全无纸化办公。可见CATIA功能之强大。
CATIA V4只能运行在IBM的UNIX图形工作站上,为了更通用的运行于各种不同的图形工作站平台和PC,V5随之诞生,它包括服务器-工作站版本和单机节点版本,工作站版本可运行于各种类型的图形工作站和Windows或各种版本的Unix操作系统下(Linux下不行),而单机版本可运行于PC机、笔记本上Windows或其他操作系统下。非常赏心悦目的软件界面,较之V4更简单易用但更强大功能使CATIA V5成为福特,丰田等公司转向CATIA的原因,而大众,戴克,标致雪铁龙等公司也因此不遗余力的从V4平台转向V5。
CATIA的竞争对手包括UG NX,Pro/E,Topsolid, Cinmatron。其中NX和Pro/E与CATIA可谓三分天下。目前CATIA在设计与工程软件中占有最多的市场份额。这来源于其如此强大的客户来源和军工背景。与其竞争对手相比,CATIA的优势在于赏心悦目的界面,易用而强大的功能,在汽车、航空航天、造船等专用行业强大的功能支持等,IT老大IBM的全球销售合作。还有很重要的一点,就是来自CATIA母公司,达索系统Dassault Systemes其他兄弟软件的支持:
1. Delmia,强大的生产线规划和管理软件,配合Catia完成制造可行性分析和实施;
2. Inovia,强大的数据管理和设计支持系统
3. Smarteam,强大的PLM软件,与UGS Team Center并列为PLM最成功的软件,PLM的鼻祖。
4. VPM,设计数据共享平台,跨国公司各设计中心可使用此软件进行数据和信息状态共享
5. Solidworks,三维工程软件在全球中端市场的统治者,被达索公司收购后,成为打击其他中端软件的招牌武器,并且有效的支持高端软件CATIA在中低端市场的渗透
6. Abaqus,最强大的FEM软件之一,优势是非线性、动态、隐式计算,成为可以有效解决汽车与航空航天领域复杂问题的有效工具,与LS-DYNA并列为高端CAE软件2巨头。
[编辑本段]历史
CATIA是英文 Computer Aided Tri-Dimensional Interface Application 的缩写。 是世界上一种主流的CAD/CAE/CAM 一体化软件。在70年代Dassault Aviation 成为了第一个用户,CATIA 也应运而生。从1982年到1988年,CATIA 相继发布了1版本、2版本、3版本,并于1993年发布了功能强大的4版本,现在的CATIA 软件分为V4版本和 V5版本两个系列。V4版本应用于UNIX 平台,V5版本应用于UNIX和Windows 两种平台。V5版本的开发开始于1994年。为了使软件能够易学易用,Dassault System 于94年开始重新开发全新的CATIA V5版本,新的V5版本界面更加友好,功能也日趋强大,并且开创了CAD/CAE/CAM 软件的一种全新风格。
法国 Dassault Aviation 是世界著名的航空航天企业。其产品以幻影2000和阵风战斗机最为著名。CATIA的产品开发商Dassault System 成立于1981年。而如今其在CAD/CAE/CAM 以及PDM 领域内的领导地位,已得到世界范围内的承认。其销售利润从最开始的一百万美圆增长到现在的近二十亿美圆。雇员人数由20人发展到2,000多人。
CATIA是法国Dassault System公司的CAD/CAE/CAM一体化软件,居世界CAD/CAE/CAM领域的领导地位,广泛应用于航空航天、汽车制造、造船、机械制造、电子\电器、消费品行业,它的集成解决方案覆盖所有的产品设计与制造领域,其特有的DMU电子样机模块功能及混合建模技术更是推动着企业竞争力和生产力的提高。CATIA 提供方便的解决方案,迎合所有工业领域的大、中、小型企业需要。包括:从大型的波音747飞机、火箭发动机到化妆品的包装盒,几乎涵盖了所有的制造业产品。在世界上有超过13,000的用户选择了CATIA。CATIA 源于航空航天业,但其强大的功能以得到各行业的认可,在欧洲汽车业,已成为事实上的标准。CATIA 的著名用户包括波音、克莱斯勒、宝马、奔驰等一大批知名企业。其用户群体在世界制造业中具有举足轻重的地位。波音飞机公司使用CATIA完成了整个波音777的电子装配,创造了业界的一个奇迹,从而也确定了CATIA 在CAD/CAE/CAM 行业内的领先地位。
CATIA V5版本是IBM和达索系统公司长期以来在为数字化企业服务过程中不断探索的结晶。围绕数字化产品和电子商务集成概念进行系统结构设计的CATIA V5版本,可为数字化企业建立一个针对产品整个开发过程的工作环境。在这个环境中,可以对产品开发过程的各个方面进行仿真,并能够实现工程人员和非工程人员之间的电子通信。产品整个开发过程包括概念设计、详细设计、工程分析、成品定义和制造乃至成品在整个生命周期中的使用和维护。CATIA V5版本具有:
1.重新构造的新一代体系结构
为确保CATIA产品系列的发展,CATIA V5新的体系结构突破传统的设计技术,采用了新一代的技术和标准,可快速地适应
企业的业务发展需求,使客户具有更大的竞争优势。
2.支持不同应用层次的可扩充性
CATIA V5对于开发过程、功能和硬件平台可以进行灵活的搭配组合,可为产品开发链中的每个专业成员配置最
合理的解决方案。允许任意配置的解决方案可满足从最小的供货商到最大的跨国公司的需要。
3.与NT和UNIX硬件平台的独立性
CATIA V5是在Windows NT平台和UNIX平台上开发完成的,并在所有所支持的硬件平台上具有统一的数据、功能、
版本发放日期、操作环境和应用支持。CATIA V5在Windows平台的应用可使设计师更加简便地同办公应用系统共享数据;而
UNIX平台上NT风格的用户界面,可使用户在UNIX平台上高效地处理复杂的工作。
4.专用知识的捕捉和重复使用
CATIA V5结合了显式知识规则的优点,可在设计过程中交互式捕捉设计意图,定义产品的性能和变化。隐式的
经验知识变成了显式的专用知识,提高了设计的自动化程度,降低了设计错误的风险。
5.给现存客户平稳升级
CATIA V4和V5具有兼容性,两个系统可并行使用。对于现有的CATIA V4用户,V5年引领他们迈向NT世界。对于新的
CATIA V5客户,可充分利用CATIA V4成熟的后续应用产品,组成一个完整的产品开发环境。
[编辑本段]应用
航空航天:
CATIA 源于航空航天工业,是业界无可争辩的领袖。以其精确安全,可靠性满足商业、防御和航空航天领域各种应用的需要。在航空航天业的多个项目中,CATIA 被应用于开发虚拟的原型机,其中包括Boeing飞机公司(美国)的Boeing 777 和Boeing 737,Dassault 飞机公司(法国)的阵风(Rafale)战斗机、Bombardier飞机公司(加拿大)的Global Express 公务机、以及Lockheed Martin飞机公司(美国)的Darkstar无人驾驶侦察机。Boeing飞机公司在Boeing 777项目中,应用CATIA设计了除发动机以外的100%的机械零件。并将包括发动机在内的100%的零件进行了预装配。Boeing 777也是迄今为止,唯一进行100%数字化设计和装配的大型喷气客机。参与Boeing 777项目的工程师、工装设计师、技师以及项目管理人员超过1700人,分布于美国、日本、英国的不同地区。他们通过1,400套CATIA 工作站联系在一起,进行并行工作。Boeing 的设计人员对777的全部零件进行了三维实体造型,并在计算机上对整个777进行了全尺寸的预装配。预装配使工程师不必再制造一个物理样机,工程师在预装配的数字样机上即可检查和修改设计中的干涉和不协调。Boeing 飞机公司宣布在777项目中,与传统设计和装配流程相比较,由于应用CATIA节省了50%的重复工作和错误修改时间。尽管首架777的研发时间与应用传统设计流程的其他机型相比,其节省的时间并不是非常的显著,但Boeing飞机公司预计,777后继机型的开发至少可节省50%的时间。CATIA 的后参数化处理功能在777的设计中也显示出了其优越性和强大功能。为迎合特殊用户的需求,利用CATIA 的参数化设计,Boeing 公司不必重新设计和建立物理样机,只需进行参数更改,就可以得到满足用户需要的电子样机,用户可以在计算机上进行预览。
汽车工业:
CATIA是汽车工业的事实标准,是欧洲、北美和亚洲顶尖汽车制造商所用的核心系统。CATIA 在造型风格、车身及引擎设计等方面具有独特的长处,为各种车辆的设计和制造提供了端对端(end to end )的解决方案。CATIA 涉及产品、加工和人三个关键领域。CATIA 的可伸缩性和并行工程能力可显著缩短产品上市时间。
一级方程式赛车、跑车、轿车、卡车、商用车、有轨电车、地铁列车、高速列车,各种车辆在CATIA 上都可以作为数字化产品,在数字化工厂内,通过数字化流程,进行数字化工程实施。CATIA 的技术在汽车工业领域内是无人可及的,并且被各国的汽车零部件供应商所认可。从近来一些著名汽车制造商所做的采购决定,如Renault、Toyota、Karman 、Volvo、Chrysler 等,足以证明数字化车辆的发展动态。 Scania 是居于世界领先地位的卡车制造商,总部位于瑞典。其卡车年产量超过50,000辆。当其他竞争对手的卡车零部件还在25,000个左右时,Scania公司借助于CATIA系统,已经将卡车零部件减少了一半。现在,Scania 公司在整个卡车研制开发过程中,使用更多的分析仿真,以缩短开发周期,提高卡车的性能和维护性。CATIA 系统是Scania 公司的主要CAD/CAM 系统,全部用于卡车系统和零部件的设计。通过应用这些新的设计工具,如发动机和车身底盘部门CATIA 系统创成式零部件应力分析的应用,支持开发过程中的重复使用等应用,公司已取得了良好的投资回报。现在,为了进一步提高产品的性能,Scania 公司在整个开发过程中,正在推广设计师、分析师和检验部门更加紧密地协同工作方式。这种协调工作方式可使Scania 公司更具市场应变能力,同时又能从物理样机和虚拟数字化样机中不断积累产品知识。
造船工业:
CATIA 为造船工业提供了优秀的解决方案,包括专门的船体产品和船载设备、机械解决方案。船体设计解决方案已被应用于众多船舶制造企业,类似General Dynamics, Meyer Weft 和Delta Marin ,涉及所有类型船舶的零件设计、制造、装配。船体的结构设计与定义是基于三维参数化模型的。参数化管理零件之间的相关性,相关零件的更改,可以影响船体的外型。船体设计解决方案与其他CATIA 产品是完全集成的。传统的CATIA 实体和曲面造型功能用于基本设计和船体光顺。Bath Iron Works 应用GSM (创成式外型设计)作为参数化引擎,进行驱逐舰的概念设计和与其他船舶结构设计解决方案进行数据交换。
4.2版本的CATIA 提供了与Deneb 加工的直接集成,并在与Fincantieri 的协作中得到发展,机器人可进行直线和弧线焊缝的加工并克服了机器人自动线编程的瓶颈。
General Dynamic Electric Boat 和 Newport News Shipbuilding 使用CATIA 设计和建造美国海军的新型弗吉尼亚级攻击潜艇。大量的系统从核反应堆、相关的安全设备到全部的生命支持设备需要一个综合的,有效的产品数据管理系统(PDM)进行整个潜艇产品定义的管理,不仅仅是一个材料单,而是所有三维数字化产品和焊接设备。ENOVIA 提供了强大的数据管理能力。
Meyer Werft 关于CAD 技术的应用在业内一直处于领先地位,从设计、零件、船载设备到试车,涉及造船业的所有方面。在切下第一块钢板前,已经完成了全部产品的三维设计和演示。
Delta Marin 在船舶的设计与制造过程中,依照船体设计舰桥、甲板和推进系统。船主利用4D 漫游器进行浏览和检查。
中国广州的文冲船厂也对CATIA 进行了成功地应用。使用CATIA 进行三维设计,取代了传统的二维设计。
厂房设计:
在丰富经验的基础上,IBM 和Dassault - Systems 为造船业、发电厂、加工厂和工程建筑公司开发了新一代的解决方案。包括管道、装备、结构和自动化文档。CCPlant 是这些行业中的第一个面向对象的知识工程技术的系统。
CCPlant 已被成功应用于Chrysler 及其扩展企业。使用CCPlant 和Deneb 仿真对正在建设中的Toledo 吉普工厂设计进行了修改。费用的节省已经很明显地体现出来。并且对将来企业的运作有着深远的影响。
Haden International 的涂装生产线主要应用于汽车和宇航工业。Haden International 应用CATIA 设计其先进的涂装生产线,CCPlant 明显缩短了设计与安装的时间。 Shell 使用CCPlant 在鹿特丹工厂开发新的生产流程,鹿特丹工厂拥有二千万吨原油的年处理能力,可生产塑料、树脂、橡胶等多种复杂化工产品。
加工和装配:
一个产品仅有设计是不够的,还必须制造出来。CATIA 擅长为棱柱和工具零件作2D/3D关联,分析和NC ;CATIA 规程驱动的混合建模方案保证高速生产和组装精密产品,如机床,医疗器械、胶印机钟表及工厂设备等均能作到一次成功。
在机床工业中,用户要求产品能够迅速地进行精确制造和装配。Dassault System 产品的强大功能使其应用于产品设计与制造的广泛领域。大的制造商像Staubli 从Dassault System 的产品中受益匪浅。Staubli 使用CATIA 设计和制造纺织机械和机器人。Gidding &Lewis使用CATIA 设计和制造大型机床。
Dassault System 产品也同样应用于众多小型企业。象Klipan使用CATIA设计和生产电站的电子终端和控制设备。Polynorm 使用CATIA 设计和制造压力设备。Tweko使用CADAM 设计焊接和切割工具。
消费品:
全球有各种规模的消费品公司信赖CATIA,其中部分原因是CATIA设计的产品的风格新颖,而且具有建模工具和高质量的渲染工具。CATIA已用于设计和制造如下多种产品:餐具、计算机、厨房设备、电视和收音机以及庭院设备。
另外,为了验证一种新的概念在美观和风格选择上达到一致,CATIA 可以从数字化定义的产品,生成具有真实效果的渲染照片。在真实产品生成之前,即可促进产品的销售。
如何配置一个 Docker 化持续集成的 PHP 开发环境
jufnwe5713
真的不想说你是个垃圾
别到处乱粘贴一段滥竽充数好吧
鄙视
好了,现在开始回答楼主的问题,你用的应该是proe5.0
这个问题最好的方法就是在中间在绘制一条影响曲线
只要你调整得好照样能出现平滑的效果
至于你所说的不能相切,主要是参数设置的问题,因为你的曲线在绘制的时候有些尺寸就已经订好了,
如果在相切的话就会冲突,所以不能出现相切
希望可以帮到你
首先,我们得知道什么才是好的开发环境, 对于我而言,一个好的开发环境需要具备以下几个特点:
可随意使用。我必须可以随意删除和创建新的环境。
快速启动。我想要用它工作时候,它立马就能用。
易于更新。在我们行业中,事物发展变化非常快,必须能让我很容易将我的开发环境更新到新的软件版本。
而Docker都支持以上这些特点,甚至更多。你几乎可以即时销毁和重建容器,而更新环境只需要重建你当前使用的镜像即可。
什么是PHP开发环境
目前Web应用错综复杂,PHP开发环境需要很多的东西,为了保证环境的简单性,需要做各种各样的限制。
我们这次使用Nginx、PHP5-FPM、MySQL来运行Synmfony项目。由于在容器中运行命令行会更复杂,所以这方面的内容我会放到下一篇博客中再说。
Pet 与 Cattle
另一个我们要讨论的重点是:我们要把开发环境部署在多容器还是单容器中。 两种方式各有优点:
单容器易于分发、维护。因为它们是独立的,所有的东西都运行在同一个容器中,这点就像是一个虚拟机。但这也意味着,当你要升级其中的某样东西(比如PHP新版本)的时候, 需要重新构建整个容器。
多容器可以在添加组件时提供更好的模块化。因为每个容器包含了堆栈的一部分:Web、PHP、MySQL等,这样可以单独扩展每个服务或者添加服务,并且不需要重建所有的东西。
因为我比较懒,加上我需要在我的笔记本上放点别的内容,所以,这里我们只介绍单个容器的方法。
初始化工程
首先要做的是初始化一个新的Symfony工程. 推荐的方法是用composer的create-project命令。本来可以在工作站上安装composer,但是那样太简单了。这次我们通过Docker来使用它。
我之前发过一篇关于Docker命令的文章:make docker commands(好吧,我说谎了,我本来把它写在这篇文章中了,然后觉得把它独立出来会比较好)。
不管怎么样,你可以读一下。接下来如果还没有composer命令的话,你可以创建一个属于自己的composer 别名。
$ alias composer="docker run -i -t -v \$PWD:/srv ubermuda/composer"
现在你可以初始化Symfony工程了:
$ composer create-project symfony/framwork-standard-edition SomeProject
帅呆了!下面来点实在的工作。(省略了博主自娱自乐的一堆balabla....原文:Awesome. Give yourself a high-five, get a cup of coffee or whatever is your liquid drug of choice, and get ready for the real work.)
容器
构建一个运行标准Symfony项目且自给自足的容器相当容易,只需要安装好常用的Nginx、PHP5-FPM和MySQL-Server即可,然后把预先准备好的Nginx的虚拟主机配置文件扔进去,再复制一些配置文件进去就完事了。
本容器的源代码在GitHub上的 ubermuda/docker-symfony仓库中可以找到。 Dockerfile 是Docker构建镜像要用到的配置文件,我们来看一下:
FROM debian:wheezy
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -y
RUN apt-get install -y nginx php5-fpm php5-mysqlnd php5-cli mysql-server supervisor
RUN sed -e 's/;daemonize = yes/daemonize = no/' -i /etc/php5/fpm/php-fpm.conf
RUN sed -e 's/;listen\.owner/listen.owner/' -i /etc/php5/fpm/pool.d/www.conf
RUN sed -e 's/;listen\.group/listen.group/' -i /etc/php5/fpm/pool.d/www.conf
RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf
ADD vhost.conf /etc/nginx/sites-available/default
ADD supervisor.conf /etc/supervisor/conf.d/supervisor.conf
ADD init.sh /init.sh
EXPOSE 80 3306
VOLUME ["/srv"]
WORKDIR /srv
CMD ["/usr/bin/supervisord"]
我们通过扩展 debian:wheezy 这个基础镜像开始,然后通过一系列的sed命令来配置Nginx和PHP5-FPM。
RUN sed -e 's/;daemonize = yes/daemonize = no/' -i /etc/php5/fpm/php-fpm.conf
RUN sed -e 's/;listen\.owner/listen.owner/' -i /etc/php5/fpm/pool.d/www.conf
RUN sed -e 's/;listen\.group/listen.group/' -i /etc/php5/fpm/pool.d/www.conf
RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf
这里我们要做两件事。 首先配置PHP5-FPM和Nginx让他们在前台运行以便supervisord可以追踪到他们。
然后,配置PHP5-FPM以指定的用户运行Web-Server,并处理好文件权限。
接下来需要安装一组配置文件,首先是Nginx的虚拟主机配置文件vhost.conf:
server {
listen 80;
server_name _;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /srv/web;
index app_dev.php;
location / {
try_files $uri $uri/ /app_dev.php?$query_string;
}
location ~ [^/]\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
}
}
因为我们不需要域名,所以把server_name设成了_(有点像perl的$_占位符变量), 并配置根目录(document root)为/svr/web, 我们会把应用程序部署在/srv下,剩下的就是标准的Mginx + PHP5-FPM配置.
因为一个容器每次只能运行一个程序, 我们需要supervisord(或者任何别的进程管理器,不过我比较中意supervisord)。幸运的是, 这个进程管理器会产生我们需要的所有进程!下面是一小段supervisord的配置:
[supervisord]
nodaemon=true
[program:nginx]
command=/usr/sbin/nginx
[program:php5-fpm]
command=/usr/sbin/php5-fpm
[program:mysql]
command=/usr/bin/mysqld_safe
[program:init]
command=/init.sh
autorestart=false
redirect_stderr=true
redirect_stdout=/srv/app/logs/init.log
这里我们需要做的是定义所有的服务, 加上一个特殊的program:init进程,它不是一个实际的服务,而是一个独创的运行启动脚本的方式。
这个启动脚本的问题在于,它通常需要先启动某些服务。比如,你可能要初始化一些数据库表,但前提是你得先把MySQL跑起来,一个可能的解决办法是,在启动脚本中启动MySQL,然后初始化表,然后为了防止影响到supervisord的进程管理,需要停掉MySQL,最后再启动supervisord。
这样的脚本看起来类似下面这样:
/etc/init.d/mysql start
app/console doctrine:schema:update --force
/etc/init.d/mysql stop
exec /usr/bin/supervisord
看起来丑爆了有木有,咱换种方式,让supervisor来运行它并且永不重启。
实际的init.sh脚本如下:
#!/bin/bash
RET=1
while [[ RET -ne 0 ]]; do
sleep 1;
mysql -e 'exit' > /dev/null 2>&1; RET=$?
done
DB_NAME=${DB_NAME:-symfony}
mysqladmin -u root create $DB_NAME
if [ -n "$INIT" ]; then
/srv/$INIT
fi
脚本先等待MySQL启动,然后根据环境变量DB_NAME创建DB,默认为symfony, 然后在INIT环境变量中查找要运行的脚本,并尝试运行它。本文的结尾有说明如何使用这些环境变量。
构建并运行镜像
万事俱备只欠东风。我们还要构建Symfony Docker镜像, 使用docker build命令:
$ cd docker-symfony
$ docker build -t symfony .
现在,可以使用它来运行你的Symfony工程了:
$ cd SomeProject
$ docker run -i -t -P -v $PWD:/srv symfony
我们来看看这一连串的选项分别是干嘛的:
-i 启动交互(interactive)模式, 也就是说,STDIO(标准输入输出)连接到了你当前的终端上。当你要接收日志或者给进程发送信号时,它很有用。
-t 为容器创建一个虚拟TTY, 它跟-i是好基友,通常一起使用。
-P 告诉Docker守护进程发布所有指定的端口, 本例中为80端口。
-v $PWD:/srv 把当前目录挂载到容器的/srv目录。挂载一个目录使得目录内容对目标挂载点可用。
现在你还记得之前提到的DB_NAME和INIT环境变量了吧,干嘛用的呢:用于自定义你的环境。 基本上你可以通过 docker run的-e选项在容器中设置环境变量,启动脚本会拿到环境变量,因此,如果你的DB名为some_project_dev, 你就可以这么运行容器:
$ docker run -i -t -P -v $PWD:/srv -e DB_NAME=some_project_dev symfony
INIT 环境变量就更强大了,它允许你启动时运行指定的脚本。比如, 你有一个bin/setup脚本运行composer install命令并且设置数据库schema:
#!/bin/bash
composer install
app/console doctrine:schema:update --force
用-e来运行它:
$ docker run -i -t -P \
-v $PWD:/srv \
-e DB_NAME=some_project_dev \
-e INIT=bin/setup
注意,-e选项可以在docer run中多次使用,看起来相当酷。另外,你的启动脚本需要可执行权限(chmod +x)。
现在我们通过curl发送请求到容器,来检查一下是否所有的东西都像预期一样工作。首先,我们需要取到Docker映射到容器的80端口的公共端口,用docker port命令:
$ docker port $(docker ps -aql 1) 80
0.0.0.0:49153
docker ps -aql 1 是个好用的命令,可以方便的检索到最后一个容器的id, 在我们的例子中,Docker 把容器的80端口映射到了49153端口。我们 curl 一下看看。
$ curl http://localhost:49153
You are not allowed to access this file. Check app_dev.php for more information.
当我们不从localhost(译者注:容器的localhost)访问dev controller时,得到了Symfony的默认错误消息,这再正常不过了, 因为我们不是从容器内部发送 curl 请求的, 所以,可以安全的从前端控制器web/app_dev.php中移除这些行。
// This check prevents access to debug front controllers that are deployed by accident to production servers.
// Feel free to remove this, extend it, or make something more sophisticated.
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !(in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) || php_sapi_name() === 'cli-server')
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
这些行阻止了任何从localhost以外的地方访问dev controller。
现在再curl的时候就可以正常工作了,或者用浏览器访问 http://localhost:49153/:
很容易吧! 现在我们可以快速的启动、更新环境了,但还是有很多地方需要改进。
好了,今天我们就此结束对“alias东风”的讲解。希望您已经对这个主题有了更深入的认识和理解。如果您有任何问题或需要进一步的信息,请随时告诉我,我将竭诚为您服务。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。