OpenCASCADE/pt-br: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
 
(37 intermediate revisions by the same user not shown)
Line 3: Line 3:
{{TOCright}}
{{TOCright}}


== Description ==
<span id="Description"></span>
== Descrição ==


[[OpenCASCADE|OpenCASCADE Technology]], '''OCC''' or '''OCCT''' for short, is a collection of C++ libraries that together constitute a professional computer aided design (CAD) kernel for modelling 2D and 3D objects, and building specialized tools for manufacturing, simulation, or visualization. OpenCASCADE is the heart of the geometrical capabilities of FreeCAD.
[[OpenCASCADE/pt-br|OpenCASCADE Technology]], '''OCC''' ou '''OCCT''' para abreviar, é uma coleção de bibliotecas C++ que juntas constituem um kernel profissional de projeto assistido por computador (CAD) para modelagem de objetos 2D e 3D, e construção de ferramentas especializadas para fabricação, simulação ou visualização. O OpenCASCADE é o coração das capacidades geométricas do FreeCAD.


The geometrical classes of OCCT are mostly implemented and made available in FreeCAD through the [[Part_Workbench|Part]] module, on which most other [[Workbenches|workbenches]] depend. It also provides internal functions to read and write different file formats like STEP and IGES, and to perform 2D projections, which can be used to create technical drawings in [[TechDraw_Workbench|TechDraw]].
As classes geométricas do OCCT são principalmente implementadas e disponibilizadas no FreeCAD através do modulo [[Part_Workbench/pt-br|Part]], do qual a maioria das outras [[Workbenches/pt-br|bancadas de trabalho]] dependem. Ele também fornece funções internas para ler e gravar diferentes formatos de arquivo como STEP e IGES, e para executar projeções 2D, que podem ser usadas para criar desenhos técnicos em [[TechDraw_Workbench/pt-br|TechDraw]].


[[Image:Part_Workbench_relationships.svg|600px]]
[[Image:Part_Workbench_relationships.svg|600px]]


{{Caption|OpenCASCADE provides the basic geometrical classes and drawing functions to the [[Part_Workbench|Part]] module, which are then used by all workbenches in FreeCAD.}}
{{Caption|OpenCASCADE fornece as classes geométricas básicas e funções de desenho para o módulo[[Part_Workbench/pt-br|Part]], que são então usados por todas as bancadas de trabalho no FreeCAD.}}


OpenCASCADE should not be confused with [https://www.openscad.org/ OpenSCAD], which is a different open source project to build 3D models, and which is accessible through the [[OpenSCAD_Workbench|OpenSCAD Workbench]].
OpenCASCADE não deve ser confundido com [https://www.openscad.org/ OpenSCAD], que é um projeto de código aberto diferente para construir modelos 3D, e que é acessível através da [[OpenSCAD_Workbench/pt-br|bancada de trabalho OpenSCAD]].


OpenCASCADE is free software governed by the terms of the GNU Lesser General Public License (LGPL) version 2.1 with an additional exception.
OpenCASCADE é software livre regido pelos termos da GNU Lesser General Public License (LGPL) versão 2.1 com uma exceção adicional.


== Installation ==
<span id="Installation"></span>
== Instalação ==


OpenCASCADE is a core component of FreeCAD, so if you get FreeCAD from one of the links in the [[Download|Download]] page, you will have it installed, and no further installation is necessary.
OpenCASCADE é um componente central do FreeCAD, então se você obter FreeCAD de um dos links na página [[Download/pt-br|Download]], você terá ele instalado, e nenhuma instalação adicional é necessária.


However, if you would like to develop applications that use OCCT, or would like to contribute C++ code to FreeCAD, then you need to install the development files of OCCT. In this case, the procedure is explained in [[Compiling|Compiling]] for each of the main systems, Linux, Windows, and MacOS.
No entanto, se você gostaria de desenvolver aplicativos que usam OCCT, ou gostaria de contribuir com código C++ para FreeCAD, então você precisa instalar os arquivos de desenvolvimento do OCCT. Nesse caso, o procedimento é explicado em [[Compiling/pt-br|Compilação]] para cada um dos principais sistemas, Linux, Windows e MacOS.


<span id="Community_edition"></span>
== Community edition ==
== Edição comunitária ==


A "community edition" of OpenCASCADE, abbreviated OCE, was released in 2011, based on the official OpenCASCADE sources (OCCT) of version 6.5. In theory the community edition OCE should be compatible with the main version OCCT in most aspects, while having some additional code contributed by the community.
Uma "edição comunitária" do OpenCASCADE, abreviada OCE, foi lançada em 2011, com base nos fontes oficiais do OpenCASCADE (OCCT) da versão 6.5. Em teoria, a edição da comunidade OCE deve ser compatível com a versão principal OCCT na maioria dos aspectos, tendo algum código adicional contribuído pela comunidade.


However, this alternative distribution stopped active development around 2017, and lagged behind the main version in terms of features and bug fixes. For this reason, since FreeCAD v0.17, FreeCAD is compiled exclusively with OCCT, and OCE is not tested.
No entanto, essa distribuição alternativa parou o desenvolvimento ativo por volta de 2017 e ficou atrás da versão principal em termos de recursos e correções de bugs. Por esta razão, desde o FreeCAD v0.17, o FreeCAD é compilado exclusivamente com OCCT, e o OCE não é testado.


In some older Linux distributions, FreeCAD is compiled against OCE 0.18, equivalent to OCCT 6.9.x, causing various issues that have been solved already in the main OCCT 7.x releases. If this is the case, try removing OCE, and installing OCCT instead. If this is not possible, use the [[AppImage|AppImage]] to get a modern FreeCAD with an updated OCCT version.
Em algumas distribuições Linux mais antigas, o FreeCAD é compilado contra OCE 0.18, equivalente ao OCCT 6.9.x, causando vários problemas que foram resolvidos nas principais versões do OCCT 7.x. Se esse for o caso, tente remover o OCE e instalar o OCCT. Se isso não for possível, use o [[AppImage/pt-br|AppImage]] para obter um FreeCAD moderno com uma versão OCCT atualizada.


== History ==
<span id="History"></span>
== História ==


The Cas.CADE geometric kernel was originally closed source, but it became open source under its current name around the year 2000. Shortly after, the FreeCAD project was started, with the oldest files being dated to January 2001. Read more in [[History|History]].
O kernel geométrico Cas.CADE era originalmente de código fechado, mas tornou-se open source sob seu nome atual por volta do ano 2000. Pouco depois, o projeto FreeCAD foi iniciado, com os arquivos mais antigos sendo datados de janeiro de 2001. Leia mais em [[History/pt-br|História]].


OpenCASCADE version 6.6 and earlier were governed by its own "OCCT public license", which made it not entirely "free software". This was solved with the release of OCCT 6.7 (2013), when it adopted the LGPL2 license.
OpenCASCADE versão 6.6 e anteriores foram governados por sua própria "licença pública OCCT", o que fez com que não fosse inteiramente "software livre". Isso foi resolvido com o lançamento do OCCT 6.7 (2013), quando adotou a licença LGPL2.


<span id="OCCT_geometric_concepts"></span>
== OCCT geometric concepts ==
== Conceitos geométricos da OCCT ==


Na terminologia OpenCascade, distinguimos entre primitivas geométricas e formas topológicas. Uma primitiva geométrica pode ser um ponto, uma linha, um círculo, um plano, etc. ou mesmo alguns tipos mais complexos, como uma curva B-Spline ou uma superfície. Uma forma pode ser um vértice, uma borda, um fio, um rosto, um sólido ou um composto de outras formas. As primitivas geométricas não são feitas para serem exibidas diretamente na cena 3D, mas sim para serem usadas como geometria de construção de formas. Por exemplo, uma aresta pode ser construída a partir de uma linha ou de uma parte de um círculo.
In OpenCascade terminology, we distinguish between geometric primitives and topological shapes. A geometric primitive can be a point, a line, a circle, a plane, etc. or even some more complex types like a B-Spline curve or a surface. A shape can be a vertex, an edge, a wire, a face, a solid or a compound of other shapes. The geometric primitives are not made to be directly displayed on the 3D scene, but rather to be used as building geometry for shapes. For example, an edge can be constructed from a line or from a portion of a circle.


Em resumo, as primitivas de geometria são blocos de construção "disformes", enquanto [[Part_TopoShape/pt-br|formas topológicas]] são os objetos reais construídos sobre eles.
In summary, geometry primitives are "shapeless" building blocks, while [[Part_TopoShape|topological shapes]] are the real objects built on them.


A complete list of all primitives and shapes refer to the [https://dev.opencascade.org/resources/documentation OCC documentation] (Alternative: [https://www.opencascade.com/doc/occt-7.4.0/refman/html/ sourcearchive.com]) and search for '''Geom_*''' (for geometric primitives) and '''TopoDS_*''' (for shapes). There you can also read more about the differences between them. Please note that the official OCC documentation is not available online (you must download an archive) and is mostly aimed at programmers, not at end-users. But hopefully you'll find enough information to get started here. Also see [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Modeling Data User's Guide].
Uma lista completa de todas as primitivas e formas refere-se à [https://dev.opencascade.org/resources/documentation documentação do OCC] (Alternativa: [https://www.opencascade.com/doc/occt-7.4.0/refman/html/ sourcearchive.com]) e procure por '''Geom_*''' (para primitivas geométricas) e '''TopoDS_*''' (para formas). você também pode ler mais sobre as diferenças entre eles em Inglês. Por favor, note que a documentação oficial do OCC não está disponível on-line (você deve baixar um arquivo) e é principalmente destinada a programadores, não a usuários finais. Mas espero que você encontre informações suficientes para começar aqui. Consulte também [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Guia do usuário de dados de modelagem].


<blockquote style="color: slategray">''At a very high level, topology tells what pieces an object is made of, and the logical relationships between them. A shape is made of a certain set of faces. A face is bounded by a certain set of edges. Two faces are adjacent if they share a common edge.''</blockquote>
<blockquote style="color: slategray">''Em um nível muito alto, a topologia diz de quais peças um objeto é feito e as relações lógicas entre elas. Uma forma é feita de um determinado conjunto de rostos. Um rosto é delimitado por um certo conjunto de arestas. Duas faces são adjacentes se compartilharem uma borda comum." </blockquote>


<blockquote style="color: slategray">''Topology alone does not tell you the size, curvature, or 3D locations of any of those pieces. However, each piece of topology does knows about it's underlying geometry. A face knows what surface it lies on. An edge knows what curve it lies on. The geometry knows about curvature and location in space.'' - [https://www.opencascade.com/content/geometry-and-topology Source]</blockquote>
<blockquote style="color: slategray">''A topologia sozinha não informa o tamanho, a curvatura ou os locais 3D de nenhuma dessas peças. No entanto, cada parte da topologia sabe sobre sua geometria subjacente. Um rosto sabe em que superfície se encontra. Uma aresta sabe em que curva se encontra. A geometria sabe sobre curvatura e localização no espaço.'' - [https://www.opencascade.com/content/geometry-and-topology Fonte]</blockquote>


<hr />
<hr />


<blockquote style="color: slategray">''Thus, Topology defines the relationship between simple geometric entities, which can be linked together to represent complex shapes.'' - [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Modeling Data User's Guide]</blockquote>
<blockquote style="color: slategray">''Assim, a Topologia define a relação entre entidades geométricas simples, que podem ser ligadas entre si para representar formas complexas.'' - [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Modeling Data User's Guide]</blockquote>


[[File:ClassTopoDS_Shape_inherit_graph.png]]
[[File:ClassTopoDS_Shape_inherit_graph.png]]


'''Note:''' Only 3 types of topological objects have geometric representationsvertex, edge, and face ([https://opencascade.blogspot.com/2009/02/topology-and-geometry-in-open-cascade.html Source]).
'''Nota:''' Apenas 3 tipos de objetos topológicos têm representações geométricasvértice, aresta e face ([https://opencascade.blogspot.com/2009/02/topology-and-geometry-in-open-cascade.html Fonte]).


Os tipos geométricos, na verdade, podem ser divididos em dois grandes grupos: curvas e superfícies. A partir das curvas (linha, círculo, ...) você pode construir diretamente uma borda, a partir das superfícies (plano, cilindro, ...) uma face pode ser construída. Por exemplo, a linha primitiva geométrica é ilimitada, ou seja, é definida por um vetor base e um vetor de direção, enquanto sua representação de forma deve ser algo limitado por um ponto inicial e final. E uma caixa - um sólido - pode ser criada por seis planos limitados.
The geometric types actually can be divided into two major groups: curves and surfaces. Out of the curves (line, circle, ...) you can directly build an edge, out of the surfaces (plane, cylinder, ...) a face can be built. For example, the geometric primitive line is unlimited, i.e. it is defined by a base vector and a direction vector while its shape representation must be something limited by a start and end point. And a box -- a solid -- can be created by six limited planes.


De uma borda ou face você também pode voltar à sua contraparte primitiva geométrica.
From an edge or face you can also go back to its geometric primitive counterpart.


Assim, a partir de formas, você pode construir peças muito complexas ou, ao contrário, extrair todas as subformas de que uma forma mais complexa é feita.
Thus, out of shapes you can build very complex parts or, the other way round, extract all sub-shapes a more complex shape is made of.


[[File:Part_TopoShape_relationships.svg|600px]]
[[File:Part_TopoShape_relationships.svg|600px]]


{{Caption|The {{incode|Part::TopoShape}} class is the geometrical object that is seen on screen. Essentially all workbenches use these [[Part_TopoShape|TopoShapes]] internally to build and display edges, faces, and solids.}}
{{Caption|A classe {{incode|Part::TopoShape}} é o objeto geométrico que é visto na tela. Essencialmente, todas as bancadas de trabalho usam estas [[Part_TopoShape/pt-br|TopoShapes]] internamente para construir e exibir bordas, faces e sólidos.}}


== Related ==
<span id="Related"></span>
== Relacionado ==


* OpenCASCADE Technology (OCCT) [http://www.opencascade.com main website]
* Tecnologia OpenCASCADE (OCCT) [http://www.opencascade.com site principal]
* OCCT [https://dev.opencascade.org/ development portal]
* OCCT [Portal de desenvolvimento https://dev.opencascade.org/]
* OCCT [https://www.opencascade.com/content/latest-release latest release]
* OCCT [https://www.opencascade.com/content/latest-release versão mais recente]
* OCCT [https://git.dev.opencascade.org/gitweb/?p=occt.git git repository]
* OCCT [https://git.dev.opencascade.org/gitweb/?p=occt.git repositório git]
* OpenCASCADE Community Edition (OCE) [https://github.com/tpaviot/oce git repository]
* OpenCASCADE Community Edition (OCE) [https://github.com/tpaviot/oce repositório git]
* [http://en.wikipedia.org/wiki/Open_Cascade_Technology Open Cascade Technology OCCT] on Wikipedia
* [http://en.wikipedia.org/wiki/Open_Cascade_Technology Open Cascade Technology OCCT] na Wikipédia
* Glossary, [[Glossary#Open_CASCADE|Open CASCADE]]
* Glossário, [[Glossary/pt-br#Open_CASCADE|Open CASCADE]]
* Tracking OCCT bugs in the FreeCAD bugtracker [https://forum.freecadweb.org/viewtopic.php?f=10&t=20264 (thread)]
* Rastreamento de bugs OCCT no bugtracker FreeCAD [https://forum.freecadweb.org/viewtopic.php?f=10&t=20264 (thread)]


{{Powerdocnavi{{#translation:}}}}
{{Powerdocnavi{{#translation:}}}}

Latest revision as of 21:40, 24 June 2023

Other languages:

Descrição

OpenCASCADE Technology, OCC ou OCCT para abreviar, é uma coleção de bibliotecas C++ que juntas constituem um kernel profissional de projeto assistido por computador (CAD) para modelagem de objetos 2D e 3D, e construção de ferramentas especializadas para fabricação, simulação ou visualização. O OpenCASCADE é o coração das capacidades geométricas do FreeCAD.

As classes geométricas do OCCT são principalmente implementadas e disponibilizadas no FreeCAD através do modulo Part, do qual a maioria das outras bancadas de trabalho dependem. Ele também fornece funções internas para ler e gravar diferentes formatos de arquivo como STEP e IGES, e para executar projeções 2D, que podem ser usadas para criar desenhos técnicos em TechDraw.

OpenCASCADE fornece as classes geométricas básicas e funções de desenho para o móduloPart, que são então usados por todas as bancadas de trabalho no FreeCAD.

OpenCASCADE não deve ser confundido com OpenSCAD, que é um projeto de código aberto diferente para construir modelos 3D, e que é acessível através da bancada de trabalho OpenSCAD.

OpenCASCADE é software livre regido pelos termos da GNU Lesser General Public License (LGPL) versão 2.1 com uma exceção adicional.

Instalação

OpenCASCADE é um componente central do FreeCAD, então se você obter FreeCAD de um dos links na página Download, você terá ele instalado, e nenhuma instalação adicional é necessária.

No entanto, se você gostaria de desenvolver aplicativos que usam OCCT, ou gostaria de contribuir com código C++ para FreeCAD, então você precisa instalar os arquivos de desenvolvimento do OCCT. Nesse caso, o procedimento é explicado em Compilação para cada um dos principais sistemas, Linux, Windows e MacOS.

Edição comunitária

Uma "edição comunitária" do OpenCASCADE, abreviada OCE, foi lançada em 2011, com base nos fontes oficiais do OpenCASCADE (OCCT) da versão 6.5. Em teoria, a edição da comunidade OCE deve ser compatível com a versão principal OCCT na maioria dos aspectos, tendo algum código adicional contribuído pela comunidade.

No entanto, essa distribuição alternativa parou o desenvolvimento ativo por volta de 2017 e ficou atrás da versão principal em termos de recursos e correções de bugs. Por esta razão, desde o FreeCAD v0.17, o FreeCAD é compilado exclusivamente com OCCT, e o OCE não é testado.

Em algumas distribuições Linux mais antigas, o FreeCAD é compilado contra OCE 0.18, equivalente ao OCCT 6.9.x, causando vários problemas que já foram resolvidos nas principais versões do OCCT 7.x. Se esse for o caso, tente remover o OCE e instalar o OCCT. Se isso não for possível, use o AppImage para obter um FreeCAD moderno com uma versão OCCT atualizada.

História

O kernel geométrico Cas.CADE era originalmente de código fechado, mas tornou-se open source sob seu nome atual por volta do ano 2000. Pouco depois, o projeto FreeCAD foi iniciado, com os arquivos mais antigos sendo datados de janeiro de 2001. Leia mais em História.

OpenCASCADE versão 6.6 e anteriores foram governados por sua própria "licença pública OCCT", o que fez com que não fosse inteiramente "software livre". Isso foi resolvido com o lançamento do OCCT 6.7 (2013), quando adotou a licença LGPL2.

Conceitos geométricos da OCCT

Na terminologia OpenCascade, distinguimos entre primitivas geométricas e formas topológicas. Uma primitiva geométrica pode ser um ponto, uma linha, um círculo, um plano, etc. ou mesmo alguns tipos mais complexos, como uma curva B-Spline ou uma superfície. Uma forma pode ser um vértice, uma borda, um fio, um rosto, um sólido ou um composto de outras formas. As primitivas geométricas não são feitas para serem exibidas diretamente na cena 3D, mas sim para serem usadas como geometria de construção de formas. Por exemplo, uma aresta pode ser construída a partir de uma linha ou de uma parte de um círculo.

Em resumo, as primitivas de geometria são blocos de construção "disformes", enquanto formas topológicas são os objetos reais construídos sobre eles.

Uma lista completa de todas as primitivas e formas refere-se à documentação do OCC (Alternativa: sourcearchive.com) e procure por Geom_* (para primitivas geométricas) e TopoDS_* (para formas). Lá você também pode ler mais sobre as diferenças entre eles em Inglês. Por favor, note que a documentação oficial do OCC não está disponível on-line (você deve baixar um arquivo) e é principalmente destinada a programadores, não a usuários finais. Mas espero que você encontre informações suficientes para começar aqui. Consulte também Guia do usuário de dados de modelagem.

Em um nível muito alto, a topologia diz de quais peças um objeto é feito e as relações lógicas entre elas. Uma forma é feita de um determinado conjunto de rostos. Um rosto é delimitado por um certo conjunto de arestas. Duas faces são adjacentes se compartilharem uma borda comum."

A topologia sozinha não informa o tamanho, a curvatura ou os locais 3D de nenhuma dessas peças. No entanto, cada parte da topologia sabe sobre sua geometria subjacente. Um rosto sabe em que superfície se encontra. Uma aresta sabe em que curva se encontra. A geometria sabe sobre curvatura e localização no espaço. - Fonte


Assim, a Topologia define a relação entre entidades geométricas simples, que podem ser ligadas entre si para representar formas complexas. - Modeling Data User's Guide

Nota: Apenas 3 tipos de objetos topológicos têm representações geométricas – vértice, aresta e face (Fonte).

Os tipos geométricos, na verdade, podem ser divididos em dois grandes grupos: curvas e superfícies. A partir das curvas (linha, círculo, ...) você pode construir diretamente uma borda, a partir das superfícies (plano, cilindro, ...) uma face pode ser construída. Por exemplo, a linha primitiva geométrica é ilimitada, ou seja, é definida por um vetor base e um vetor de direção, enquanto sua representação de forma deve ser algo limitado por um ponto inicial e final. E uma caixa - um sólido - pode ser criada por seis planos limitados.

De uma borda ou face você também pode voltar à sua contraparte primitiva geométrica.

Assim, a partir de formas, você pode construir peças muito complexas ou, ao contrário, extrair todas as subformas de que uma forma mais complexa é feita.

A classe Part::TopoShape é o objeto geométrico que é visto na tela. Essencialmente, todas as bancadas de trabalho usam estas TopoShapes internamente para construir e exibir bordas, faces e sólidos.

Relacionado