• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Leggi altro.

Inserire immagine in un cartiglio

mastro.alle

Utente Junior
Professione: progettista
Software: CATIA V5; ProE
Regione: Emilia Romagna
#1
Ciao a tutti,
Io sono partito da uno degli esempi presenti per creare una tipologia di cartiglio personalizzata nella quale dovrebbe comparire il logo della mia azienda.
Qualcuno ha idea di come posso inserire un'immagine durante la creazione in automatico del cartiglio?

Grazie
 

inbomba

Utente poco attivo
Professione: Progettista
Software: CATIA V5
Regione: Friuli-Emilia
#2
Ciao!
Io faccio semplicemente insert->picture...
Però utilizza jpg non troppo pesanti altrimenti le dimensioni del .catdrawing diventano elevate.
Se il logo è in bianco e nero puoi anche ricreartelo in un dxf e importarlo.

saluti
Riccardo
 

mastro.alle

Utente Junior
Professione: progettista
Software: CATIA V5; ProE
Regione: Emilia Romagna
#3
Ciao,
forse mi sono spiegato male....so che per inserire un immagine in un CATDrawing la procedura è "insert->picture...", però vorrei sapere se c'è modo di far compiere a CATIA questa operazione in automatico mentre crea il cartiglio. Quello che mi manca sono le righe di codice da inserire nella macro, dato che CATIA non registra alcuna operazione se attivo il registratore di macro mentre inserisco manualmente una immagine.

C'è qualche esperto in VB che sa aiutarmi?
 
Professione: Studente
Software: CATIA
Regione: Lazio
#4
Io sono partito da uno degli esempi presenti per creare una tipologia di cartiglio personalizzata nella quale dovrebbe comparire il logo della mia azienda.
Incredibile. Sono tre settimane che ho lo stesso problema anche io... ma ancora non ti posso aiutare.
Ho fatto modifiche prima impensabili all'esempio di un cartiglio già esistente, interpretando passo-passo il codice in VB (di cui non ho la padronanza).
Il cartiglio senza immagine mi funziona bene, ma per questa mi sono perso in passaggi di questo tipo:
Codice:
Sub CATCreateLogoAzienza()
'----------------------------------
  'How to create the Logo
'----------------------------------
  With Image
      .Picture = LoadPicture("C:\...\...\...\....jpg")
      .Stretch = True
      .Left = 0
      .Top = 0
      .Width = Me.Width
      .Height = Me.Height
  End With
'----------------------------------
  WithEvents imagine As Image
  Set imagine = cata.Controls.Add("VB.Image", "Imagine" & index_imagine)
  index_imagine = index_imagine + 1
  imagine.Stretch = True

  With imagine
    .Visible = True
    .Left = txtLeft.Text
    .Top = txtTop.Text
    .Width = txtWidth.Text
    .Height = txtHeight.Text
    .Picture = LoadPicture("C:\...\...\...\....jpg")
  End With
End Sub
... più tutti i richiami sparsi nel codice, così come avviene per le altre Sub.
Dato che non funziona, ci sono degli errori, magari concettuali, forse anche gravi :confused: chissà.
Ho rimandato a quando ho un po' di tempo per studiare un po' di più il VB. Se scopro qualcosa la scrivo qui.
Tu per caso nel frattempo hai risolto?
Saluti.
 

atofras

Utente Junior
Professione: studente itis
Software: nessuno per adesso
Regione: aversa
#5
mi piacerebbe poter intervenire ma non ho dimistichezza coi cad comunque trovo interessante l'argomento. ciao
 
Professione: Studente
Software: CATIA
Regione: Lazio
#6
mi piacerebbe poter intervenire ma non ho dimistichezza coi cad comunque trovo interessante l'argomento. ciao
Qui il problema è di programmazione, purtroppo, nel linguaggio Visual Basic.
Sul CAD poi si va solo a fare le prove di inserimento del cartiglio nell'ambiente di messa in tavola, per vedere se avviene correttamente.
 
Professione: Disegnatore CAD 3D/2D
Software: CATIA V5R18-AutoCad-Open Office-SAP
Regione: Italy
#7
Salve a tutti ,
Suggerisco di lasciar perdere questa strada... ci ha provato un mio collega PROGRAMMATORE e dopo svariati tentativi si è arreso .
Io ho risolto a modo mio .... per i vari formati A0-A1-A2 ecc... mi sono creato un file catdrawing indipendente andando a modificare manualmente il cartiglio nel comando MODIFICA SFONDO DEL FOGLIO e inserendo tutte le immagini che mi pare... Quando ho bisogno della mia buona tavola da disegno apro il file e eseguo il comando SALVA CON NOME .... creando a questo punto un nuovo file catdrawing con codifica dedicata per il progetto e cambiando directory !!! Risultato ?? Tutti in ufficio hanno seguito questo metoto e anche altri AMICI .
Spero di essere stato d'aiuto .... Ciao
 

ferdo

Utente poco attivo
Professione: Account manager
Software: CATIA
Regione: Bucharest
#8
Private Const RATIONONE=0
Private Const RATIOWIDTH=1
Private Const RATIOHEIGHT=2
Dim oDocument
Dim oSheets
Dim oSheet
Dim oView
Dim oPictures


Public Sub CATMain()

on error resume next
Set oDocument = CATIA.ActiveDocument
If Err.Number <> 0 Then
Set oDocument = CATIA.Documents.Add("Drawing")
Err.Clear
End If
On Error GoTo 0

Set oSheets = oDocument.Sheets
Set oSheet = oSheets.ActiveSheet
Set oView = oSheet.Views.ActiveView
Set oPictures = oView.Pictures

MsgBox "The macro will insert a jpg file in your drawing at position x =150, y =0. The file must be in the folder C:\temp\ (which should be created before runnning the macro) and must have the name Logo. Modify the code if you want something else"

InsertPicture "c:\temp\COE_Logo.jpg", 150, 0, RATIOHEIGHT, 100,25


End Sub

Sub InsertPicture (strPath , dblAnchorX, dblAnchorY, prRatio, dblWidth, dblHeight)
Dim objPicture

Set objPicture = oPictures.Add(strPath, dblAnchorX, dblAnchorY)
FormatPicture objPicture, prRatio,-1 ,-1 , dblWidth, dblHeight

Set objPicture = Nothing
End Sub

Public Sub FormatPicture(objPicture , prRatio , dblAnchorX, dblAnchorY, dblWidth , dblHeight )
Dim dblScalar

If dblAnchorX >= 0 Then objPicture.X = dblAnchorX
If dblAnchorY >= 0 Then objPicture.Y = dblAnchorY

If prRatio = RATIOWIDTH Then
'Picture scaled by width with fixed ratio
If dblWidth > 0 Then
dblScalar = objPicture.Width / dblWidth
objPicture.Height = objPicture.Height / dblScalar
objPicture.Width = dblWidth
End If
ElseIf prRatio = RATIOHEIGHT Then
'Picture scaled by Height with fixed ratio
If dblHeight > 0 Then
dblScalar = objPicture.Height / dblHeight
objPicture.Width = objPicture.Width / dblScalar
objPicture.Height = dblHeight
End If
Else
'Picture scaled by width & height
If dblWidth > 0 Then objPicture.Width = dblWidth
If dblHeight > 0 Then objPicture.Height = dblHeight
End If

End Sub


PS Es un CATScript