2009-05-14 9 views
1

J'insère par programme un bloc dans un dessin à l'aide de la fonction MakeSketchBlockFromFile. Cette fonction nécessite un MathPoint pour la position du bloc, mais j'aimerais que l'utilisateur place le bloc sur le dessin à la place. Je veux fondamentalement imiter la fonctionnalité de l'élément de menu Tools-Block-Insert.Insérer un bloc sans spécifier MathPoint. Attach à la souris à la place

Y a-t-il une autre fonction API que j'ai manquée qui me permettra d'insérer un bloc, mais le bloc sera-t-il attaché à la souris au lieu de spécifier un emplacement spécifique?

Répondre

0

J'ai sous-classé la classe DataObject et utilisé DoDragDrop pour permettre à l'utilisateur de faire glisser le bloc vers le dessin. Fonctionne comme un champion.

0

Je n'ai pas fait de programmation Solidworks pendant un certain temps, mais la seule méthode qui semble renvoyer un mathpoint qui vous donne la position de la souris est

SwManipulatorHandler2::OnUpdateDrag 

Je soupçonne que c'est la seule façon que vous pouvez le faire en créant l'un de ces manipulateurs et en amenant l'utilisateur à le positionner puis en créant le bloc à cet endroit.

À côté: Je suis un peu confus quant à la raison pour laquelle vous répliquez des fonctionnalités qui existent déjà.

+0

Je donne à l'utilisateur la possibilité de définir des propriétés personnalisées pour une partie sélectionnée dans un dessin qui sont liées à des notes dans le bloc. Lorsque la boîte de dialogue est fermée, j'aimerais que le bloc soit sélectionné au lieu que l'utilisateur ouvre le bloc lui-même. –

+0

l'autre option est que vous insérez juste au centre du dessin et l'utilisation peut le déplacer. – jimconstable