Relacionar símbolo boceto con borde o cajetin de lámina

Relacionar símbolo boceto con borde o cajetin de lámina

Mecanico14
Advisor Advisor
1.809 Vistas
23 Respuestas
Mensaje 1 de 24

Relacionar símbolo boceto con borde o cajetin de lámina

Mecanico14
Advisor
Advisor

Buenas, ya hace tiempo que he estado investigando y no he conseguido lo que quiero hacer. Una de dos, o no se puede hacer o no soy capaz de encontrarle una solución, así que recurro a vosotros a ver si alguno tiene una respuesta.

Cuando hago un plano, pongo unos símbolos de bocetos (acabados, notas, etc), en un lugar determinado de mis láminas. Pero el problema me surge cuando por lo que sea necesito cambiar el tamaño de la lámina, el símbolo de boceto no se desplaza a la nueva dimensión de la lámina. Imaginemos que lo tengo mas o menos centrado por encima  del cajetín en un A4, si lo cambio a A3, deja de estar en esa posición.

¿Hay alguna manera de referenciar el símbolo del boceto con una parte de la geometría del marco o del cajetín? .

He intentado hacer un pinto de referencia y nada de nada. Igual tengo que poner un punto en el cajetín para ubicar el símbolo en ese lugar siempre, pero tendré que moverlo a mano. Esto no lo he probado todavía.

A ver si se os ocurre algo mejor.

 

Gracias.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

0 Me gusta
1.810 Vistas
23 Respuestas
Respuestas (23)
Mensaje 2 de 24

luis_andueza
Advisor
Advisor

Por ahora lo que se me ocurre es crear los símbolos pertenecientes al cajetín mismo, y  crear un cajetín para cada uno de los tamaños que necesites. 

Voy a seguir pensando que otra solución podemos tener.

 

Saludos.

Luis José Andueza Castro
Ing. Mecánico - Consultor CAD/CAM/CAE/Data Management
www.dimcad3d.com | LinkedIn |

¿Te resultó útil esta publicación? No dudes en darle Me gusta a esta publicación.
¿Tu pregunta fue respondida exitosamente? Entonces haz clic en el botón ACEPTAR SOLUCIÓN.

EESignature

Mensaje 3 de 24

Mecanico14
Advisor
Advisor

Gracias @luis_andueza , eso ya se me había pasado por la imaginación, pero me obligaría a tener muchas láminas creadas.

No te preocupes, yo también voy pensando como poder hacerlo, ya llevo muchos meses con esa duda y todavía sigo dándole vueltas. Algo se me ocurrirá.

 

Muchas gracias por tu ayuda.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

0 Me gusta
Mensaje 4 de 24

PepeMartín
Advocate
Advocate

Buenas @Mecanico14  y @luis_andueza.

 

Creo que lo que buscáis es definir puntos de pinzamiento.

pinzamiento.png

Primero se define el punto de inserción en cada uno de los símbolos que tengamos creados, por ejemplo si es una tabla pues una de sus esquinas darle la propiedad de punto de inserción que arriba se resalta en la imagen.

Sirve tanto para insertar  símbolos como tablas o tablas de revisión.

Para que funcione debemos dibujar simplemente un punto dentro del boceto del cajetín, acotarlo por ejemplo con respecto a la esquina inferior derecha y así siempre estará en la misma posición aunque el tamaño de la hoja cambie. Después tendremos que darle la propiedad a ese punto de forzado de pinzamiento, para cuando pasemos con el ratón por encima de esa posición al colocarlo nos aparezca un punto verde de pinzamiento.

 

Espero que se entienda bien,  cualquier duda ya sabéis ! 

Saludos 

Pepe Martín Bagüeste
Consultor técnico de MFG en ASIDEK.
Mensaje 5 de 24

Mecanico14
Advisor
Advisor

Gracias @PepeMartín , lo pruebo y te comento.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

0 Me gusta
Mensaje 6 de 24

Mecanico14
Advisor
Advisor

Hola @PepeMartín , he estado haciendo unas pruebas y o las hago mal, o no te he entendido.

Edito el cajetín, le añado un punto y lo acoto para que este referenciado con el cajetin. Inserto el símbolo de boceto y no puedo referenciarlo ni al punto del cajetín, ni a ninguna de las geometrías del cajetín, no existen, no se pueden seleccionar para por ejemplo acotar algo del cajetín. Por lo tanto, no me deja referenciar nada al cajetín.

Y esto mismo o parecido, he recordado que ya lo había intentado, sin resultado alguno.

Se me había ocurrido intentar poner el símbolo de boceto dentro del cajetín, tampoco se puede. Volverlo a crear dentro del cajetin, pues me revuelve las tripas, porque no es lo que quiero y tendría que tener múltiples configuraciones de cajetin.

 

Seguiré dándole vueltas.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

0 Me gusta
Mensaje 7 de 24

PepeMartín
Advocate
Advocate

Buenas @Mecanico14 

 

Te he hecho un pequeño screencast a ver si te lo aclara un poco mejor.

 

 

Saludos!!
Pepe Martín Bagüeste
Consultor técnico de MFG en ASIDEK.
Mensaje 8 de 24

Mecanico14
Advisor
Advisor

Lo miro y te comento algo.

 

Muchas gracias por tu tiempo.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

0 Me gusta
Mensaje 9 de 24

Mecanico14
Advisor
Advisor

Vale, parece que algo si que he conseguido, colocar el punto y que se "ancle" en el punto que he creado en el cajetin. Por cierto, cuando quiero colocarlo en ese punto, he de ir "tanteando" para localizarlo, a mi no se me pone verde como a ti y he de ir un poco a ciegas (uso Inventor 2020).

Una vez puesto el símbolo, cambio el tamaño de la lámina y cambia todo de sitio, menos el símbolo que no se va con el punto. Digo, no lo habré puesto en su sitio o con este símbolo no va y pruebo con otro. Nada, se ancla (a duras penas porque no lo veo hasta que se para) y por mucho que cambie de formato o de símbolo, este se queda donde lo he colocado al principio.

Algo he conseguido, pero no todo lo que quería. Gracias por intentarlo.

 

Por cierto, en tu vídeo no he visto que cambiases de formato, a ver que te pasaba con el símbolo, si se iba o se quedaba. Aunque si a ti se te "ilumina" el punto y a mi no, pues seguro que a ti se te va también jajajaja.

Voy ha realizar la prueba con Inventor 2019, luego después de cenar.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

0 Me gusta
Mensaje 10 de 24

Anonymous
No aplicable

Hola @Mecanico14,

No sé si entiendo bien tu problema, pero creo que es más sencillo de lo que imaginas 😅... No relaciones los símbolos y notas al rótulo (cajetín), hazlo en el marco... Te adjunto unas imágenes ya que no sé como grabar, debes verlas por orden numérico.

 

Saludos.

PD: Perdón por el "Autodek" jajajja 😆

Mensaje 11 de 24

Mecanico14
Advisor
Advisor

😀😀 Gracias, me has entendido, pero no del todo.

Me parece muy buena tu solución, que por cierto, no he dicho que sea al cajetín exclusivamente, ya lo digo en el título

"Relacionar símbolo boceto con borde o cajetin de lámina", pero no es lo que busco. Tu me propones incrustar el símbolo dentro del borde y yo lo quiero siempre independiente de cajetín o borde y que en un momento dado lo pueda "apartar". Solo quiero que esté referenciado a "algo" y que cuando redimensione ese "algo", siga a las mimas distancias. Si yo pudiese acotar un punto, esquina, linea de un símbolo, con un punto, esquina, línea de un borde o de un cajetín, me conformaba.

Si, con tu idea, edito el borde y le cambio la cota, pero no es eso lo que busco.

No te preocupes, intentare plantear el tema como idea, a ver si tengo algo mas exito que con las anteriores.

 

De todas formas, muchas gracias por tu tiempo.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

0 Me gusta
Mensaje 12 de 24

PepeMartín
Advocate
Advocate

Buenas @Mecanico14 , siento el retraso.

El problema es que como es un punto solamente lo que dibujas en el cajetín no se ve donde esta y puede ser difícil encontrarlo, en el vídeo que te mande es fácil porque esta muy cerca de la esquina del cajetín. Yo te recomiendo por ejemplo hacer un circulo de Ø1 para que lo puedas ver mucho más fácil, no olvides ponerlo de tal manera que no aparezca al imprimir el plano para que no moleste o si es muy pequeño seguramente ni se note.

He probado lo que comentas de cambiar el tamaño de la hoja una vez insertados los simbolos y muy a mi pesar no se mueven los simbolos al nuevo punto de pinzamiento pero si tenemos dibujado el circulo pequeño que te comento es muy rápido moverlos.

 

Otro planteamiento que a mi se me ocurre es si siempre colocas un símbolo en una misma posición es crear una regla ilogic que lo haga:

' Establecer la referencia al documento de dibujo activo
Dim oDrawDoc As DrawingDocument = ThisDrawing.Document
 
' Definir el símbolo de Boceto, cambiar el nombre del símbolo por el nuestro
Dim oSketchedSymbolDef As SketchedSymbolDefinition _
       = oDrawDoc.SketchedSymbolDefinitions.Item("NombreDelSimboloDeBoceto")
 
Dim oSheet As Sheet = oDrawDoc.ActiveSheet
 
'Crear el punto de inserción en cm donde nos interese desde la esquina inferior izquierda
Dim oTG As TransientGeometry = ThisApplication.TransientGeometry
Dim oInsertionPoint As Point2d = oTG.CreatePoint2d(5, 5)
 
Dim oSketchedSymbol As SketchedSymbol _
       = oSheet.SketchedSymbols.Add( _
             oSketchedSymbolDef, _
             oInsertionPoint, _
             0, 1, Nothing)

 Quizás es liarte mucho con esta idea pero creo que quizás es idónea para lo que te interesa.

 

Espero haberte ayudado.

Saludos!

Pepe Martín Bagüeste
Consultor técnico de MFG en ASIDEK.
Mensaje 13 de 24

Mecanico14
Advisor
Advisor

Muchas gracias @PepeMartín , de verdad (y a los demás), si que tienes razón con lo del punto y no es mala idea lo del círculo. Tengo que ponerlo en práctica porque seguro que funciona.

Pero me lo has puesto MUCHO mejor con la regla de iLogic, también la voy a probar sin dudarlo estos días que dispongo de mucho tiempo libre. Me has recordado que cuando hice un curso de iLogic, si que hay unas instrucciones que te calculan distancias a partir de zonas de la lámina y esa es la mejor de las ideas.

Te comento en cuanto lo pruebe, creo que funcionará.

 

Gracias otra vez.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

0 Me gusta
Mensaje 14 de 24

LeoAlatorre
Collaborator
Collaborator

Hola @Mecanico14 

 

Tu pregunta me dejo intrigado sobre como poderlo hacer,y usando ilogic creo que logre algo parecido a lo que entiendo que buscas. Aunque a mi parecer sigue siendo muy rebuscado, pero igual te lo dejo por si te funciona o aporta a que se logre.

 

note que si insertas el simbolo haciendo referencia a un punto de una vista "draft" (no se como se llama en español), este sí se mueve al editar el draft, así que lo que hice fue que una regla de ilogic modifique la posición y tamaño de un rectangulo dibujado en una vista draft llamada "Borde" de tal forma que siempre coincida con el borde de la hoja, y así al cambiar el tamaño de hoja, se modifica el borde y se modifica el tamaño del rectángulo. Lo unico que resta es insertar el símbolo referenciandolo a un punto, como por ejemplo el punto medio del rectangulo.

 

Te dejo el codigo y los pasos que sigo para lograrlo:

 

1 - Hay que crear una vista draft y nombrarla "Borde" (sin las comillas")

2 - dentro de la vista draft, dibujar un punto en el origen (esquina inferior izquierda de la hoja) y aplicar una restricción de fijación para que no se mueva

3 - dibujar un rectángulo, este es el que va a coincidir con el borde.

4- crear las siguientes dimensiones, es muy importante que sean en este orden ya que en la regla hace referencia al nombre de la dimensión:

   - punto fijo a la esquina del rectángulo de forma horizontal

   - punto fijo a la esquina del rectángulo de forma vertical

   - longitud horizontal del rectángulo

   - longitud vertical del rectángulo

 

5 - finalizar el sketch y ejecutar la regla, en este punto el rectángulo debería cambiar de tamaño para coincidir exactamente con el borde

 

6 - una vez hecho esto, podemos insertar el símbolo haciendo referencia a las esquinas o puntos medios del rectángulo. No he probado agregando más puntos.

 

7- si cambias de tamaño la hoja, solo ejecutas la regla nuevamente (se podría agregar algun trigger para que se ejecute automáticamente), esto ajusta el tamaño del draft y mueve de lugar el simbolo.

 

Ahora mismo no tengo oportunidad de grabar el proceso para que sea más claro, pero mañana espero tenerlo. por lo pronto espero esto ayude un poco. Repito que aun no estoy del todo conforme, creo son muchos pasos, pero igual puede darte más ideas sobre como lograrlo.

 

Sub Main()

	Dim oMinx As Integer = ThisApplication.ActiveDocument.ActiveSheet.Border.RangeBox.MinPoint.x *10
	Dim oMiny As Integer = ThisApplication.ActiveDocument.ActiveSheet.Border.RangeBox.MinPoint.y *10
	Dim oMaxx As Integer = ThisApplication.ActiveDocument.ActiveSheet.Border.RangeBox.MaxPoint.x *10
	Dim oMaxy As Integer = ThisApplication.ActiveDocument.ActiveSheet.Border.RangeBox.MaxPoint.y *10

	Call changeDraftSketchConstaintParam(1, "d0", oMinx)
	Call changeDraftSketchConstaintParam(1, "d1", oMiny)
	Call changeDraftSketchConstaintParam(1, "d2", oMaxx-oMinx)
	Call changeDraftSketchConstaintParam(1, "d3", oMaxy-oMiny)
	

End Sub


Sub changeDraftSketchConstaintParam(draftIndex, paramName, newV)

    Dim oDoc As DrawingDocument
    oDoc = ThisApplication.ActiveDocument
    
    Dim oSheet As Sheet
    oSheet = oDoc.ActiveSheet
    
    Dim oView As DrawingView
'    oView = oSheet.DrawingViews(3)
    For Each oView In oSheet.DrawingViews
		
	
    If oView.Name = "Borde" Then
        Dim oDraftSketch As Sketch
         oDraftSketch = oView.Sketches(1)
        
        If Not oDoc.ActivatedObject Is oDraftSketch Then
           Call oDraftSketch.Edit()
        End If
        
        Dim oDim As DimensionConstraint
        For Each oDim In oDraftSketch.DimensionConstraints
            Dim oParam As Parameter
            oParam = oDim.Parameter
            
            If oParam.Name = paramName Then
                 oParam.Expression = newV
                  
            End If
        Next
        Call oDraftSketch.Solve()

        Call oDraftSketch.ExitEdit()
    End If
	Next
    Call oDoc.Update()
End Sub

 

Leonardo Alatorre Zavala
¿Te resultó útil esta publicación? No dudes en darle Me gusta a esta publicación.
¿Tu pregunta fue respondida exitosamente? Luego haga clic en el botón ACEPTAR SOLUCIÓN.

EESignature

YouTube | LinkedIn
Mensaje 15 de 24

LeoAlatorre
Collaborator
Collaborator

Te dejo el video con los pasos...

 
 

Leonardo Alatorre Zavala
¿Te resultó útil esta publicación? No dudes en darle Me gusta a esta publicación.
¿Tu pregunta fue respondida exitosamente? Luego haga clic en el botón ACEPTAR SOLUCIÓN.

EESignature

YouTube | LinkedIn
Mensaje 16 de 24

Mecanico14
Advisor
Advisor

Buenas @LeoAlatorre , esta mañana he leído tu respuesta y ya se me había olvidado agradecerte tu tiempo. Gracias, me parece una buena idea (no la he puesto en práctica, lo tengo pendiente) y ahora espero ver el vídeo para confirmarlo.

Quedo a la espera de que se pueda ver, luego te comento mas impresiones, pero puede ser una solución.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

0 Me gusta
Mensaje 17 de 24

Mecanico14
Advisor
Advisor

Ya he visto el vídeo.

Interesante, no se me había ocurrido ese método, no está nada mal, lo voy a poner en práctica a ver que pasa, eso si, le añadiré que se ejecute la regla en el momento de cambiar el tamaño, eso ya lo tengo controlado.

 

Gracias otra vez.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

0 Me gusta
Mensaje 18 de 24

Sergio.D.Suárez
Mentor
Mentor

Hola querido @Mecanico14 , Aquí te muestro otro enfoque para el problema. Una regla de ilogic que toma las coordenadas actuales del Símbolo y las asocia al rótulo de la hoja. Antes de ejecutar la regla deberías tener que posicionar correctamente donde desees el símbolo. Luego la regla tomará la posición del rótulo y la asociara a tu posición del símbolo.

Dim oSymb As Inventor.SketchedSymbol = ThisApplication.CommandManager.Pick(16907, "Select SketchSymbol")
If oSymb Is Nothing Then Exit Sub
	
Dim oDoc As DrawingDocument = ThisDoc.Document
Dim oSheet As Sheet = oDoc.ActiveSheet

Dim j As Integer = 0
For i As Integer = 1 To oSheet.SketchedSymbols.Count
	If oSheet.SketchedSymbols(i).Definition.Name = oSymb.Definition.Name Then j = i
Next

Dim oX As Double = oSheet.TitleBlock.Position.X - oSymb.Position.X
Dim oY As Double = oSheet.TitleBlock.Position.Y - oSymb.Position.Y
 
Dim iLogicAuto As Object = iLogicVb.Automation

Dim RuleName As String = "UpdatePosition" & "_" & oSymb.Definition.Name & "_" & j
Dim RuleText As String = "'Actualiza automaticamente la posición del SketchSymbol" & vbCrLf & _				 
						 "Dim oDoc As DrawingDocument = ThisDoc.Document" & vbCrLf & _
						"Dim oSheet As Sheet = oDoc.ActiveSheet" & vbCrLf & _
						"Dim oSymb As Inventor.SketchedSymbol = oSheet.SketchedSymbols(" & j & ")" & vbCrLf & _
						"Dim oCenter As Point2d = ThisApplication.TransientGeometry.CreatePoint2d(oSheet.TitleBlock.Position.X -" & oX & ",oSheet.TitleBlock.Position.Y-" & oY & ")"& vbCrLf & _
						"oSymb.Position= oCenter"
						
Dim iLogicAddIn As ApplicationAddIn = ThisApplication.ApplicationAddIns.ItemById("{3bdd8d79-2179-4b11-8a5a-257b1c0263ac}")
Dim iLogic As Object = iLogicAddIn.Automation

iLogic.DeleteRule(oDoc, RuleName)
iLogic.AddRule(oDoc, RuleName, RuleText)

On Error Resume Next
Dim EventPropSet As Inventor.PropertySet = oDoc.PropertySets.Item("iLogicEventsRules")

If EventPropSet Is Nothing Then EventPropSet = oDoc.PropertySets.Item("_iLogicEventsRules")

If EventPropSet.InternalName <> "{2C540830-0723-455E-A8E2-891722EB4C3E}" Then
	Call EventPropSet.Delete
	EventPropSet = oDoc.PropertySets.Add("iLogicEventsRules", "{2C540830-0723-455E-A8E2-891722EB4C3E}")
End If
If EventPropSet Is Nothing Then EventPropSet = oDoc.PropertySets.Add("iLogicEventsRules", "{2C540830-0723-455E-A8E2-891722EB4C3E}")

If EventPropSet Is Nothing Then Exit Sub
	
EventPropSet.Add(RuleName, "BeforeDocSave", 700)

 La regla la utilizo como regla externa, esta regla creará reglas internas en tu archivo de dibujo, e intentará crear los event triggers necesarios para que la regla se ejecute automáticamente (digo intentará porque aún no puedo lograr que funcione para varios símbolos correctamente 😡 ).

En fin quizá podría servir para tu uso personal, y si tienes más de un símbolo que asociar por el momento deberás colocar el event trigger manualmente hasta que se pueda reparar el código.

Si necesitas reposicionar el símbolo simplemente lo colocas a la nueva posición y vuelves a ejecutar la regla externa, entonces se sobrescribirán las reglas internas con las nuevas posiciones colocadas.

Aquí te dejo un video descriptivo

Espero te pueda ayudar en algo, quizá para darte un nuevo enfoque para resolver tu problema. Saludos!!

 


Please accept as solution and give likes if applicable.

I am attaching my Upwork profile for specific queries.

Sergio Daniel Suarez
Mechanical Designer

| Upwork Profile | LinkedIn

Mensaje 19 de 24

Mecanico14
Advisor
Advisor

Exacto, eso es lo que quiero, con eso me conformo. En un principio solo quiero que un símbolo sea el que se adapte, luego ya veremos los demás.

Ahora estaba con otras cosas y no me ha dado tiempo de probar las propuestas de los demás, @PepeMartín , @LeoAlatorre , ahora con la tuya, tengo otra opción mas que probar. Porque pienso probar todas, faltaría más.

 

Muchas gracias @Sergio.D.Suárez , es un auténtico lujo contar con vuestra ayuda.


-------------------------
Un saludo.

Mecanico14

Siempre parece imposible hasta que se hace.

0 Me gusta
Mensaje 20 de 24

LeoAlatorre
Collaborator
Collaborator

sin dudas una solución más elegante la de @Sergio.D.Suárez  ,  el que sabe, sabe. 

 

Leonardo Alatorre Zavala
¿Te resultó útil esta publicación? No dudes en darle Me gusta a esta publicación.
¿Tu pregunta fue respondida exitosamente? Luego haga clic en el botón ACEPTAR SOLUCIÓN.

EESignature

YouTube | LinkedIn