{"id":1121,"date":"2018-03-17T14:12:38","date_gmt":"2018-03-17T13:12:38","guid":{"rendered":"http:\/\/silentdynamics.de\/?p=1121"},"modified":"2018-04-16T18:56:02","modified_gmt":"2018-04-16T16:56:02","slug":"importing-iges-file-from-freeship-to-opencascade","status":"publish","type":"post","link":"https:\/\/silentdynamics.de\/es\/2018\/03\/17\/importing-iges-file-from-freeship-to-opencascade\/","title":{"rendered":"Importando archivo IGES (*.IGS) de FreeShip a OpenCASCADE"},"content":{"rendered":"<p>El software FreeShip es una herramienta conveniente para el dise\u00f1o de cascos.<br \/>\nLas capacidades de FreeShip se limitan esencialmente al dise\u00f1o del exterior del casco. Para todo lo dem\u00e1s, se requiere un sistema CAD real. Existe una funci\u00f3n de exportaci\u00f3n IGES para la transferencia.<br \/>\nTambi\u00e9n hay un sucesor: DelftShip. La funci\u00f3n de exportaci\u00f3n IGES ha sido eliminada de la versi\u00f3n gratuita de DelftShip y solo est\u00e1 disponible en la versi\u00f3n comercial. Esta no est\u00e1 a mi disposici\u00f3n, por lo que no puedo probarla.<br \/>\nMe gustar\u00eda usar la geometr\u00eda en nuestra herramienta ISCAD. Est\u00e1 basada en OpenCASCADE.<br \/>\nLa geometr\u00eda del casco modelada en FreeShip 2.6 se ve as\u00ed:<a href=\"http:\/\/silentdynamics.de\/wp-content\/uploads\/2018\/03\/paperboat2018.fbm-not-modified_001.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1145 size-full\" src=\"http:\/\/silentdynamics.de\/wp-content\/uploads\/2018\/03\/paperboat2018.fbm-not-modified_001.png\" alt=\"\" width=\"1920\" height=\"1152\" srcset=\"https:\/\/silentdynamics.de\/wp-content\/uploads\/2018\/03\/paperboat2018.fbm-not-modified_001.png 1920w, https:\/\/silentdynamics.de\/wp-content\/uploads\/2018\/03\/paperboat2018.fbm-not-modified_001-300x180.png 300w, https:\/\/silentdynamics.de\/wp-content\/uploads\/2018\/03\/paperboat2018.fbm-not-modified_001-768x461.png 768w, https:\/\/silentdynamics.de\/wp-content\/uploads\/2018\/03\/paperboat2018.fbm-not-modified_001-1024x614.png 1024w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><br \/>\nLa exportaci\u00f3n a un archivo IGES es poco espectacular y se crean 40 caras individuales.<br \/>\nEl siguiente paso es la importaci\u00f3n a OpenCASCADE. Pero aqu\u00ed hay un problema. OpenCASCADE (v7.2.0) informa:<\/p>\n<blockquote><p>Informe: 40 entidades desconocidas.<\/p>\n<p>N\u00famero total de entidades cargadas 41.<\/p><\/blockquote>\n<p>No se muestra nada. Aunque se informa que una importaci\u00f3n funciona con versiones anteriores.<a href=\"https:\/\/forum.freecadweb.org\/viewtopic.php?t=1670\">https:\/\/forum.freecadweb.org\/viewtopic.php?t=1670<\/a>), la importaci\u00f3n no funciona con la versi\u00f3n actual de OCC, ni con diferentes versiones anteriores de Salome (y OpenCASCADE). Por otro lado, la importaci\u00f3n funciona, por ejemplo, en el software CAD comercial Creo.<\/p>\n<p>Finalmente, un estudio muestra que el archivo exportado por FreeShip contiene solo entidades de tipo 128 (superficie spline). Adem\u00e1s, hay una \u00fanica definici\u00f3n de color al principio. Al final del bloque de par\u00e1metros de una superficie 128 (ver p. ej. <a href=\"https:\/\/wiki.eclipse.org\/IGES_file_Specification#Rational_B-Spline_Surface_.28Type_128.29\">https:\/\/wiki.eclipse.org\/IGES_file_Specification#Rational_B-Spline_Surface_.28Type_128.29<\/a>) son los par\u00e1metros de inicio y fin (valores m\u00ednimos\/m\u00e1ximos de U y V) de la superficie. Estas entradas son omitidas por FreeShip y para OpenCASCADE esto es un error.<\/p>\n<p>Una soluci\u00f3n alternativa es parchear la importaci\u00f3n de IGES de OpenCASCADE. El c\u00f3digo correspondiente se encuentra a partir de la l\u00ednea 188 en el archivo IGESGeom\/IGESGeom_ToolBSplineSurface.cxx. Elimin\u00e9 el mensaje de error e insert\u00e9 l\u00edmites de par\u00e1metros por defecto:<\/p>\n<pre class=\"lang:c++ decode:true\">  si (!PR.ReadReal(PR.Current(), aUmin) || !PR.ReadReal(PR.Current(), aVmin)){\n    \/\/Message_Msg Msg106(\"XSTEP_106\");\n    \/\/PR.SendFail(Msg106);\n    aUmin=0.0;\n    aVmin=0.0;\n  }\n\n  si (!PR.ReadReal(PR.Current(), aUmax) || !PR.ReadReal(PR.Current(), aVmax)){\n    \/\/Message_Msg Msg107(\"XSTEP_107\");\n    \/\/PR.SendFail(Msg107);\n    aUmax=1.0;\n    aVmax=1.0;\n  }<\/pre>\n<p>Con estas modificaciones, la importaci\u00f3n funciona:<\/p>\n<p><a href=\"http:\/\/silentdynamics.de\/wp-content\/uploads\/2018\/03\/Auswahl_002.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1146 size-full\" src=\"http:\/\/silentdynamics.de\/wp-content\/uploads\/2018\/03\/Auswahl_002.png\" alt=\"\" width=\"658\" height=\"394\" srcset=\"https:\/\/silentdynamics.de\/wp-content\/uploads\/2018\/03\/Auswahl_002.png 658w, https:\/\/silentdynamics.de\/wp-content\/uploads\/2018\/03\/Auswahl_002-300x180.png 300w\" sizes=\"auto, (max-width: 658px) 100vw, 658px\" \/><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>How to fix IGES import of FreeShip-generated geometry.<\/p>","protected":false},"author":1,"featured_media":1146,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[191],"tags":[],"class_list":["post-1121","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oss-cae-blog"],"_links":{"self":[{"href":"https:\/\/silentdynamics.de\/es\/wp-json\/wp\/v2\/posts\/1121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/silentdynamics.de\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/silentdynamics.de\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/silentdynamics.de\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/silentdynamics.de\/es\/wp-json\/wp\/v2\/comments?post=1121"}],"version-history":[{"count":0,"href":"https:\/\/silentdynamics.de\/es\/wp-json\/wp\/v2\/posts\/1121\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/silentdynamics.de\/es\/wp-json\/wp\/v2\/media\/1146"}],"wp:attachment":[{"href":"https:\/\/silentdynamics.de\/es\/wp-json\/wp\/v2\/media?parent=1121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/silentdynamics.de\/es\/wp-json\/wp\/v2\/categories?post=1121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/silentdynamics.de\/es\/wp-json\/wp\/v2\/tags?post=1121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}