• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Insérer des images sur DFT

  • Auteur du sujet Auteur du sujet Papao
  • Date de début Date de début

Papao

Guest
Au revoir à tous,
Pouvez-vous me dire si vous pouvez insérer dans l'environnement dft, toutes les images dans un dossier automatiquement ?
Je vous remercie.
 
Je suppose que tu as besoin d'un petit vb...
Les fichiers image à insérer dans le dft sont contenus dans un dossier appelé avec le même nom de fichier (sans extension).

Tu peux m'aider ?
 
quelque chose comme ça (code non prouvé)
Code:
dim objapp comme solidedgeframework.application = rien
dim objdft en tant que solidedgedraft.draftdocument = rien
dim objsheet comme solidedgedraft.sheet = rien

objapp = marshal.getactiveobjet("solidedge.application")
ojdft = document actif
Objsheet = objdft.activesheet

dim objimages as solidedgedraft.images2d = objsheet.images2d
dim objimage as solidedgedraft.image2d = objimages.addimage(false,nomeimmagine")

ojimage.setorigin(x, y) 'x ed y sono le coordinator colombe deve essere posizionata l'immagine
ojimage.hauteur = h 'h è l'altezza dell'immagine
objimage.width = w 'w è la larghezza dell'immagine
 
Dernière édition:
le code retourne l'erreur de syntaxe sur toutes les instructions variables;
Je pensais qu'ils manquaient les références aux librairies mais aussi les activer, je ne l'ai pas résolu.
Peut-être que je n'ai pas trouvé le bon ?
 
Je n'ai pas utilisé vb6 depuis au moins 10 ans et était déjà vieux à '

Vous devez certainement ajouter des références, dans les instructions supprimer l'attribution de valeur mais le faire dans une ligne séparée, pour assigner les valeurs que vous devez probablement ajouter "set" devant l'instruction.

Je téléchargerais la communauté de studios visuels ou le code de studios visuels avec lequel vous ouvrez un monde de possibilités.
Code:
dim objapp en tant que cadre solide. application
dim objdft en tant que document solidedgedraft.draft
dim objsheet sous forme d'ébauche.sheet

set objapp = getactiveobject("solidedge.application")
définir objdft = objapp.activedocument
définir objsheet = objdft.activesheet

dim objimages sous forme de fond.images2d
dim objimage en tant que solideedgedraft.image2d

définir objimages = objsheet.images2d
set objimage = objimages.addimage(false,nomeimmagine")

Appelez objimage. stérorigine(x, y) 'x ed y sono le coordinate colombe deve essere posizionata l'immagine
définir objimage. hauteur = h 'h è l'altezza dell'imagine
définir objimage. largeur = w 'w è la larghezza dell'immagine
 
@be_on_edge Merci pour la connexion au guide du sdk de si, mais dans le guide les deux valeurs "largeur" et "hauteur" sont "propriétés" et le "double" est un "type de données".

Quand vous parlez d'objet vous faites référence à "image2d" ?
 
@be_on_edgeMerci pour la connexion au guide du sdk de si, mais dans le guide les deux valeurs "largeur" et "hauteur" sont "propriétés" et le "double" est un "type de données".

Quand vous parlez d'objet vous faites référence à "image2d" ?
Désolé je voulais dire que c'est une propriété de double type qui représente la taille de l'image en mètres. si vous voulez une image de 100 mm de large, vous devrez utiliser
Code:
définir objimage. largeur = 0,1
 
Ok, je comprends, mais il semble étrange que vous deviez attribuer la valeur avec la directive "set"... seulement que je n'utilise plus vb6 depuis un siècle... Je vais me rafraîchir la mémoire... Ça ne fait pas mal en été. C'est vrai.
 
Ok, je comprends, mais il semble étrange que vous deviez attribuer la valeur avec la directive "set"... seulement que je n'utilise plus vb6 depuis un siècle... Je vais me rafraîchir la mémoire... Ça ne fait pas mal en été. C'est vrai.
peut-être pas besoin, vb6 était un hybride étrange comme syntaxe dans certains cas vous avez utilisé le jeu dans d'autres pas, je ne me souviens pas pourquoi motivo
 
peut-être pas besoin, vb6 était un hybride étrange comme syntaxe dans certains cas vous avez utilisé le jeu dans d'autres pas, je ne me souviens pas pourquoi motivo
Oui, je suis curieux. . . .

J'étais curieux de voir le code qu'il a écrit prier comprendre ce qu'il a écrit sur différents "choses"... mais le mien n'est qu'une curiosité:)

Peut-être que j'ai écrit trop de fois curieux... Qui est sexy ?
 
Désolé de vous décevoir, mais je n'ai encore rien écrit en vb6, sauf pour essayer ce que Francis a suggéré : Malheureusement je peux consacrer quelques minutes par jour et pas toujours..

J'ai demandé au vb6 parce qu'il est le seul que je connais un peu, et je ne pouvais pas comprendre le code que francesco avait initialement posté.

Cependant tester le code, la ligne suivante va mal et les bibliothèques je pense que je les ai toutes activés
Code:
set objapp = getactiveobject("solidedge.application")
 
prier Tu ne m'as pas laissé tomber. Ne t'inquiète pas.

Ce que je demandais c'est juste les lignes de code que vous avez écrites et qui vous donnent une erreur, je pense que lire le code écrit (une ligne ou beaucoup qui sont) est plus immédiat que d'en parler pour comprendre s'il y a des erreurs.

C'est le code que tu as écrit. @be_on_edge "revisé" et testé.
Code:
' codice vba
sous createimage2d()
sur erreur goto createtoolpalette_error
dim oapp comme cadre solide. application
set oapp = getobject(, "solidedge.application")

oapp.screenupdating = faux

dim oimage en tant que support d'un cadre de travail solide.image2d

set oimage = oapp.activedocument.activesheet.images2d.addimage(false, "percorso completo dell'immagine")

oimage.setorigin 0,1, 0,1

oapp.screenupdating = true

set oimage = rien
set oapp = rien

en cas d'erreur aller à 0
sortie sous

createtoolpalette_error & #160;:

msgbox "error " & err.number & " (" & err.description & ") nella procedura createimage2d, linea " & erl & ".

fin sous
c'est le même code dans vbs
Code:
dim app : set app = getobject(,"solidedge.application")

app.screenupdating = faux

dim image : set image = app.activedocument.activesheet.images2d.addimage(false, "percorso completo del file")
' appel image.setorigin(0,1, 0,1)
' oppure
image.sotorigine 0,1, 0,1

app.screenupdating = true
ce même code en perl
Perl:
# interface activex
utiliser win32::ole;
utiliser win32::ole::variant;
# utiliser l'instance existante si Solidedge est déjà en cours d'exécution
eval {$solidedge = win32::ole->getactiveobjet('solidedge.application')};
die "solidedge non installé" si $@;
sauf si (défini $solidedge) {
$solidedge = win32::ole->new('solidedge.application')
ou mourir "oups, ne peut pas commencer solidedge";
}

$doc = $solidedge->activedocument();
$img = $doc->activesheet->images2d->addimage(false, "percorso completo del file");
la valeur de l'huile d'olive,
ce même code en python
Python:
import win32com.client, temps, win32con

app = win32com.client.dispatch("solidedge.application")

si l'application n'est pas nulle:
img = app.activedocument.activesheet.images2d.addimage(false, "percorso completo del file")
(0,1, 0,1)
Sinon:
print("erreur! solide non trovato!")
C'est vrai.
 
Désolé de vous décevoir, mais je n'ai encore rien écrit en vb6, sauf pour essayer ce que Francis a suggéré : Malheureusement je peux consacrer quelques minutes par jour et pas toujours..

J'ai demandé au vb6 parce qu'il est le seul que je connais un peu, et je ne pouvais pas comprendre le code que francesco avait initialement posté.

Cependant tester le code, la ligne suivante va mal et les bibliothèques je pense que je les ai toutes activés
Code:
set objapp = getactiveobject("solidedge.application")
le code correct est:
Code:
set objapp = getobject(,"solidedge.application")
 
Merci les gars, très gentil comme toujours... trop rougeâtre je dirais non

Cependant, je pense que j'ai tort parce que le code dans vba retourne l'erreur suivante:Cattura.JPGc'est la ligne de code que j'ai saisie pour le chemin et à l'intérieur contient un ou plusieurs fichiers de type jpg
Code:
set oimage = oapp.activedocument.activesheet.images2d.addimage(false, "c:\users\paolo\desktop\solid edge\parte1\")
 
Merci les gars, très gentil comme toujours... trop rougeâtre je dirais non

Cependant, je pense que j'ai tort parce que le code dans vba retourne l'erreur suivante:Voir la pièce jointe 71893c'est la ligne de code que j'ai saisie pour le chemin et à l'intérieur contient un ou plusieurs fichiers de type jpg
Code:
set oimage = oapp.activedocument.activesheet.images2d.addimage(false, "c:\users\paolo\desktop\solid edge\parte1\")
vous n'avez pas mis le nom du fichier à ajouter; vous devrez utiliser la méthode addimage pour chaque image contenue dans le dossier. Quelque chose comme ça :

(code non testé, images insérées côte à côte tous les 100 mm)
Code:
strfiles = dir("c:\users\paolo\desktop\solid edge\parte1\")

x = 0,1

pendant que strfiles <> ""
set oimage = oapp.activedocument.activesheet.images2d.addimage(faux, strfiles)
o image. stérorigine x, 0,1
x = x + 0,1
strfiles = dir
ouvrés
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut