Exemples

  1. FAQ
  2. »
  3. Présentation des produits
  4. »
  5. Exemples

Comment obtenir la propriété de l'objet lors de l'importation d'un fichier .dwf?

Sample Components/Dwfdb/Examples/OdDwfLoad effectue le dumping des propriétés si vous l'exécutez avec la clé -D.

Comment ajouter un lien hypertexte à une entité MTEXT?

L'exemple OdWriteEx contient la création d'un cercle avec un lien hypertexte. Recherchez DbFiller.cpp pour "hyperlien".

Voici un exemple de code pour créer MTEXT avec un lien hypertexte dans le champ. Code:

OdDbMTextPtr pMText = OdDbMText::createObject();
  pMText->setDatabaseDefaults(pRecord->database());
  pRecord->appendOdDbEntity(pMText);

  /**********************************************************************/
  /* Set some properties                                                */
  /**********************************************************************/

  pMText->setLocation(point);
  pMText->setTextHeight(0.2);
  pMText->setAttachment(OdDbMText::kTopLeft);
  pMText->setContents(OD_T("Sample Hyperlink"));
  pMText->setWidth(w * 7.0 / 8.0);
  pMText->setTextStyle(styleId);
  
  OdDbFieldPtr pTextField3 = OdDbField::createObject();
  OdDbFieldPtr pField3_1 = OdDbField::createObject();

  OdDbObjectId textFldId3 = pMText->setField(OD_T("TEXT"), pTextField3);
  OdDbObjectId fldId3_1 = pTextField3->setField(OD_T(""), pField3_1);

  pField3_1->setEvaluationOption(OdDbField::kAutomatic);
  OdString fc6(OD_T("\\AcVar \\href \"http://forum.opendesign.com/showthread.php?14172-How-do-I-add-a-hyperlink-to-an-MTEXT-entity##Open Design Alliance Forum > Teigha, C++ version#0\""));
  pField3_1->setFieldCode(fc6);

  OdDbEntityHyperlinkPEPtr    hpe = pField3_1;
  OdDbHyperlinkCollectionPtr  urls = hpe->getHyperlinkCollection(pField3_1);
  
  urls->addTail(L"http://forum.opendesign.com/showthread.php?14172-How-do-I-add-a-hyperlink-to-an-MTEXT-entity##ForumLink#0\"", 
    L"Open Design Alliance Forum > Teigha, C++ version");
  
  hpe->setHyperlinkCollection(pField3_1, urls);

  pTextField3->setEvaluationOption(OdDbField::kAutomatic);
  OdString fc7(OD_T("HyperLink sample %<\\_FldIdx 0>%"));
  pTextField3->setFieldCode(fc7, OdDbField::FieldCodeFlag(OdDbField::kTextField | OdDbField::kPreserveFields));

  pField3_1->evaluate(OdDbField::kAutomatic);

Comment puis-je déboguer l'application ODA .NET?

Actuellement, nous fournissons des exemples de configuration de version; si vous avez besoin d'une configuration de débogage, vous devez créer une configuration de débogage/Debug Config manuellement.

  1. Créez une nouvelle configuration "Debug" à partir de la configuration de la version/Release config. Vous devez modifier la configuration de construction et reconstruire/recréer la solution:
     debug

     

  2. Propriétés de solution -> Sélectionnez l'onglet "Construire" -> Cliquez sur le bouton "Avancé" -> Modifiez le champ "Informations de débogage" de "aucun" à "complet" / Solution Properties -> Select Tab "Build" -> Click button "Advanced" -> Change field "Debug Info" from "none" to "full".
  3. Propriétés de solution -> Sélectionnez l'onglet "Construire" -> Champ "Chemin de sortie" -> Copier à partir de la configuration de la version (par exemple:..\..\..\..\..\exe\vc16dll) / Solution Properties -> Select Tab "Build" -> Field "Output path" -> Copy from release configuration (for e.x: ..\..\..\..\..\exe\vc16dll).
  4. debug

Quels types de fichiers sont pris en charge pour les fichiers de référence DGN?

Pour le moment, nous prenons en charge les pièces jointes de référence aux fichiers DXF/DWG et aux fichiers DGN. Et nous prenons également en charge les pièces jointes raster aux fichiers image et PDF.

Avez-vous des exemples de coupe?

Des exemples de coupe sont présents dans nos applications exemples. Vous trouverez également des informations supplémentaires dans la documentation.

Comment puis-je calculer des étendues pour l'espace modèle?

Regardez AbstractViewPE.h. Cette extension de protocole peut être appliquée à OdDbViewport, OdDbViewportTableRecord, OdDbViewTableRecord.

Vous pouvez trouver un exemple de code dans Kernel/Examples/Exports/RasterExport. AbstractViewPE dans ses zoomExtents() et viewExtents() ne prend en compte que la géométrie visible en fonction de l'état des calques (si le calque a été désactivée ou gelée).

Avez-vous un support de bibliothèque pour générer des plans d'étage 2d .dwg à partir de fichiers ifc?

Dans la bibliothèque Visualize, vous pouvez convertir ifc en .vsf et puis à partir de .vsf à .dwg. Un exemple de la façon dont vous pouvez le faire est disponible dans /Examples/Ifc2Visualize et /Extensions/Visualize2Dwg

Où puis-je trouver des informations sur les dessins de parcelles?

Pour les options de traçage, vous pouvez vous référer à l'exemple de l'archive de dessins SDK dans Drawing\Examples\Qt\OdaQtPlotSettingsValidator.

Lors de l'utilisation d'OdCopyEx.cpp pour convertir la version du fichier CAD, la boîte de dialogue ‘Mémoire insuffisante’ s'affiche et le code lève une exception lors de la lecture du fichier.

Le format de fichier .Dwg est très compressé et le dessin occupe beaucoup plus de mémoire que la taille du fichier.
La limite de mémoire pour l'application 32 bits est 2G. L'application 64 bits n'a pas de telle limitation.
Dans certains scénarios, le chargement partiel et la pagination peuvent réduire l'utilisation de la mémoire, mais l'enregistrement du dessin dans un fichier nécessite que toutes les données soient chargées en mémoire.

Comment puis-je "intégrer" des images dans le dessin?

Vous pouvez intégrer l'image en tant qu'entité OLE.Regardez /Drawing/Examples/ExCommands/ExInsertRaster.cpp

Comment puis-je lire les données du fichier OBJ?

Le projet de module principal est placé dans le dossier Components/OBJToolkit. Le fichier d'en-tête avec toutes les déclarations de méthodes nécessaires est OBJToolkit.h. Pour importer le fichier .obj, veuillez créer un objet OdObjImport, appelez la méthode importFile et vous aurez accès aux groupes et objets géométriques d'OdObjDb:

OdObjImportPtr pObjImporter = OBJToolkit::createObjImporter();
pObjImporter->importFile(filePath, &importOptions);
OdObjDbPtr pObjDb = pObjImporter->getObjDb();

L'exemple d'importation est disponible dans le projet Obj2Visualize de Composants/Exemples, et il peut être testé dans Components/Visualize/Examples/Visualize Viewer (Fichier-> Ouvrir-> Obj)/(File->Open->Obj).

Un exemple d'exportation .dwg à .obj se trouve dans le projet Drawing/Examples/ExCustObjs (dans la fonction appelée _OBJExport_func). Il s'agit de la commande OBJExport de l'application exemple OdaMfcApp. Un autre exemple d'exportation vers OBJ à partir de Visualize est dans Visualize Viewer, le menu Fichier -> Exporter->Obj/File->Export->Obj menu.

Pouvons-nous obtenir des polylignes directes en tant que point de départ/startPoint et point finalEndPoint pour les lignes de dimension/leader/extension?

Une entité de dimension à la méthode OdDbObjectId dimBlockId(). Un bloc contient toute la géométrie de dimension. Si une propriété de dimension est modifiée, ce bloc est recalculé.

Vous pouvez obtenir des entités simples telles que des lignes, du texte multiligne, etc. en parcourant le bloc de dimensions.

Nous avons besoin de la chaîne de texte sous la forme de polylignes correspondant au type de police exact utilisé dans un fichier .dwg. Existe-t-il un moyen d'obtenir de telles polylignes?

Regardez l'implémentation de la commande TxtExp dans Drawings/Examples/ExCommands/ExTxtExp.cpp. Il convertit le texte en polylignes et arcs.

Le code source du convertisseur de fichiers ODA/ODA File Converter est-il disponible?

Vous pouvez trouver cet exemple de code source dans l'archive de dessins/Drawings archive: Drawings_XX\Drawing\Examples\Qt\OdaFileConverter.

Pouvez-vous fournir un exemple de code ODA en C# (pour savoir comment créer des cercles, des arcs, etc.)?

Regardez Drawings.NET\Swig\SwigODAExamples\Drawings\NetFramework\OdReadExSwigMgd\DbFiller.cs.

Existe-t-il des exemples de ligne de commande prenant en charge les systèmes d'exploitation Windows et Linux (.deb) pour convertir les fichiers .dwg et .dxf en .dwg/.dxf/.svg/.png?

Les SDK ODA prennent en charge de nombreux formats. Le SDK Dessins fournit un support natif pour les formats de fichiers .dwg et .dxf et un ensemble de diverses exportations et importations. L'archive SDK de dessins comprend un ensemble d'échantillons qui fonctionnent en ligne de commande. Voici quelques exemples liés à la conversion de fichiers:

  • OdCopyEx — Charge un fichier .dwg/.dxf de n'importe quelle version et l'enregistre dans un fichier .dwg/.dxf de n'importe quelle version.
  • OdDwfExport - Charge un fichier .dwg/.dxf et exporte son contenu dans un fichier .dwf.
  • OdColladaExport - La même chose, mais la sortie est un fichier type Collada.
  • OdPdfExport - Également le même, mais la sortie est un fichier type .pdf.
  • OdSvgExport - Également le même, mais la sortie est un fichier type .svg.
  • Et beaucoup d’autres.

Comment puis-je régénérer dans WPF?

La mise en œuvre est:

m_pDevice->invalidate();
if(m_pDevice->gsModel())
m_pDevice->gsModel()->invalidate(OdGsModel::kInvalidateAll);

où m_pDevice est un dérivé de la classe OdGsDevice.

Comment puis-je obtenir la géométrie d'une entité?

Regardez l'exemple de projet OdGetGeomEx: \Drawing\Examples\OdGetGeomEx

Quelles sont les différences entre ODAMfcApp et ODA Viewer?

  • ODAMfcApp peut utiliser les différents périphériques de rendu (WinGDI, Silicon Graphics OpenGL®® , Microsoft® DirectX® , Bitmap, GLES2). ODA Viewer utilise OpenGL.
  • ODAMfcApp peut activer ou désactiver le cache graphique (Outils -> Options -> Utiliser le modèle GS)/(Tools->Options->Use GS model). ODA Viewer ne peut pas désactiver cette option.