[plugin] boites crénelées

H

Hervé-34

Ouvrier
Bonsoir à tous,

Je suis dans l'ombre, car je n'y connait pas grand chose en programmation !!
mais par contre je suis utilisateur !!

Il y a quelque chose de bizarre ! j'ai chargé le plugin du message pus haut:
sur un PC le dialogue se fait normalement, sur un autre par exemple
je n'ai pas le menu déroulant " boite fermée etc.etc. " mais 0-1-2

C'est étonnant non ?

Hervé
 
K

Klystron

Compagnon
Bonsoir Hervé-34,
oui le plugin de Speedjf37 fonctionne bien :

Capture.JPG
[div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div][div=none][arrow][/arrow][/div]

il suffit de lui indiquer dans la fenetre les valeurs de la boite à usiner sur CNC ( ou encore en découpe au LASER.)

( cotes de la boite en extérieur ou en intérieur.)
(boite fermée ou boite ouverte ou boite avec couvercle coulissant)

copier les deux cotés qui manquent pour avoir la boite complete.

pour installer le plugin :
--> prendre la derniere version et le décompresser.
--> le fichier plugin ( dll ) le copier dans le répertoire plugin de Cambam.
-> aller sur Cambam -> complement --> box_auto


bonne soirée , Yves.
 
Dernière édition:
S

speedjf37

Compagnon
Bonsoir à tous,

Je suis dans l'ombre, car je n'y connait pas grand chose en programmation !!
mais par contre je suis utilisateur !!

Il y a quelque chose de bizarre ! j'ai chargé le plugin du message pus haut:
sur un PC le dialogue se fait normalement, sur un autre par exemple
je n'ai pas le menu déroulant " boite fermée etc.etc. " mais 0-1-2

C'est étonnant non ?

Hervé

C'est que tu as 2 versions différentes regarde les dates !

La dernière c'est 'boite fermée' etc.

JF
 
D

dh42

Compagnon
Salut

J'avance sur la dll mais je ne trouve pas de définition pour accéder a l'objet doc

doc.modified=false
doc.newfile()

désolé, plus d'alerte pour ce sujet ..

CamBamUI.MainUI.ActiveView.CADFile.Modified = False
CamBamUI.MainUI.ActiveView.CADFile.NewFile()

je n'ai pas trouvé comment déclencher "AFFICHAGE RÉINITIALISER" pour adapter l'affichage après génération

2 possibilités, à essayer celui qui te donne le résultat voulu

CamBamUI.MainUI.ActiveView.UpdateViewport()

CamBamUI.MainUI.ActiveView.RefreshView()

++
David
 
H

Hervé-34

Ouvrier
Bonjour à tous !!

Merci !! pour votre travail !!
C'est vrai que peut-être comme moi, il y a plein de personnes
qui sont dans l'ombre avec les yeux grand ouverts, ne comprenant
pas trop ce que vous dites à propos de prog et de langage !!

Mais ce n'est pas pour ça que l'on n'apprécie pas !!

Je viens effectivement de charger la dernière version et tout va bien !!

Encore merci à tous,

Hervé
 
D

dh42

Compagnon
Salut,

Un bug trouvé ; si tu fais "Fichier/nouveau", puis que tu lance le plugin, ça plante ...

Bienvenue chez les "plugins maker" :wink:

++
David
 
K

Klystron

Compagnon
Bonsoir David,
Oui effectivement, mais pourquoi aller a fichier/nouveau apres avoir sorti le Gcode du coffret ?.
à moins que le PC continue de travailler une fois quitté ?...
Yves
 
H

Hervé-34

Ouvrier
Bonjour,

Oui, c'est vrai ! j'ai aussi ce bug !!

Je fait un travail, je le sauve, et maintenant je veut faire une boite,
Je ne peut faire que " nouveau " non? et là ça plante !! il manque ??

Une clé ??????

Hervé
 
D

dh42

Compagnon
Salut,

1) Tu viens de finir un job (pas forcément une boite), et tu attaque le suivant, qui sera une boite ... donc à ce moment tu crée un nouveau fichier, sans quitter CB .. et quand tu veux créer ta boite ... vlan, plantage.

2) Un programme ne doit jamais planter, quoi que tu fasse .... même si c'est une action loufoque ; c'est le job du programmeur de prévoir des sécurités pour tout, y compris les erreurs de l'utilisateur.

@JF: Je suis sur que quelqu'un à déjà été confronté à cette erreur suite à un "nouveau fichier", mais impossible de me rappeler qui, sauf que ce n'est pas moi :lol: (et que ce n'est pas très récent) .. la solution se trouve donc dans le code d'un des plugin existant .... mais lequel .... trou de mémoire !!

++
David
 
K

Klystron

Compagnon
Oui mais si on ne sait pas faire ...:shock:
il faudrait avoir un exemple pour que Speedjf37 se penche sur la question ...
si non le plus simple est de quitter CB et revenir apres :-D
Yves
 
D

dh42

Compagnon
Re

Oui mais si on ne sait pas faire ...

Ah Ah ! , c'est tout l'art de la programmation ; ça marche rarement nickel du premier coup, à plus forte raison quand tu découvre ... et en plus sans doc ou presque des fonctions spécifiques à CB

Une petite version pour le fun

Il y a un mieux, ça ne plante que si on touche au bouton "générer" ou à la case "auto" (tj après avoir fait un newfile)

Si tu veux partager ton code, je regarderais si je trouve.

pour le partager, supprime tout ce qui est dans le dossier bin/release, la ou se retrouve ta dll en principe (c'est volumineux, et recrée à chaque compilation), et compresse l'ensemble du dossier du plugin pour le mettre en PJ

bon courage ! ... c'est un casse tête au départ parfois pour trouver ce genre de problème .. tu dois avoir quelque chose qui fait référence à un objet qui n'existe pas encore lorsque l'on fait un Newfile

++
David
 
S

speedjf37

Compagnon
Salut,

1) Tu viens de finir un job (pas forcément une boite), et tu attaque le suivant, qui sera une boite ... donc à ce moment tu crée un nouveau fichier, sans quitter CB .. et quand tu veux créer ta boite ... vlan, plantage.

2) Un programme ne doit jamais planter, quoi que tu fasse .... même si c'est une action loufoque ; c'est le job du programmeur de prévoir des sécurités pour tout, y compris les erreurs de l'utilisateur.

@JF: Je suis sur que quelqu'un à déjà été confronté à cette erreur suite à un "nouveau fichier", mais impossible de me rappeler qui, sauf que ce n'est pas moi :lol: (et que ce n'est pas très récent) .. la solution se trouve donc dans le code d'un des plugin existant .... mais lequel .... trou de mémoire !!

++
David

Ok David j'ai bien le bug , si tu retrouves la solution !

en mode script ça ne plante pas !!!
 
D

dh42

Compagnon
En fait ce n'est pas uniquement avec un nouveau fichier ; ça le fait aussi si tu ouvre un projet existant et que tu veux faire une boite ; il y a probablement une erreur dans la manière dont tu gère un nouveau fichier ... mais je ne peux pas faire grand chose sans voir ton code.

J'ai retrouvé le truc dont je parlais, mais c'est encore un pb différent (et c'est en C, pas en VB)

++
David
 
S

speedjf37

Compagnon
En fait ce n'est pas uniquement avec un nouveau fichier ; ça le fait aussi si tu ouvre un projet existant et que tu veux faire une boite ; il y a probablement une erreur dans la manière dont tu gère un nouveau fichier ... mais je ne peux pas faire grand chose sans voir ton code.

J'ai retrouvé le truc dont je parlais, mais c'est encore un pb différent (et c'est en C, pas en VB)

++
David
Voir la pièce jointe BoxAuto_copie.zip
 
D

dh42

Compagnon
Salut,

Ok, trouvé ... mais ça à été un peu long

Dans Public Class MyPlugin , tu dois déclarer tes variables mais ne pas leur affecter une valeur

autrement dit, remplace

Shared ui As CamBamUI = CamBam.UI.CamBamUI.MainUI()
Shared view As CamBam.UI.ICADView = ui.ActiveView
Shared doc As CamBam.CAD.CADFile = ui.ActiveView.CADFile


par

Shared ui As CamBamUI
Shared view As CamBam.UI.ICADView
Shared doc As CamBam.CAD.CADFile


Tu vas leur affecter leur valeurs (un pointeur vers le View = l'affichage et un vers CADfile, autrement dit le fichier en cours) dans plugin_clicked()

Le plantage viens du fait que tu affecte un pointeur vers le fichier au moment de l'initialisation du plugin (InitPlugin), qui n'est faite qu'une seule fois au lancement de CB. Tout se passe bien lors du lancement, car le pointeur à été initialisé sur le fichier vierge en cours, mais dès que tu ouvre ou crée un nouveau fichier, le pointeur mémorisé ne pointe plus sur le bon fichier. Ça plante au moment de la creation du calque

Dim l1 As Layer = doc.CreateLayer("box")

doc
pointe sur rien (en tout cas pas le document en cours) et crash ...

donc tu vas modifier plugin_clicked comme ci dessous, de cette manière, à chaque lancement du plugin ui, view et doc sont initialisés sur le bon pointeur.


Pour te simplifier la vie et éviter à la fois ce type de problème et le besoin de créer ces 3 variables tu peux utiliser un accès direct à la valeur stocké par CB plutot que de la copier dans une variable intermédiaire.

ex: le view.xxx du VBscript peut être remplacé par CamBamUI.MainUI.ActiveView.

un code comme:

view.DrawingTree.ReloadTree()

devient

CamBamUI.MainUI.ActiveView.DrawingTree.ReloadTree()

---

doc.Modified = False

devient

CamBamUI.MainUI.ActiveView.CADFile.Modified = False


tu peux ainsi te passer des 3 variables ui,view et doc :wink:

je te met les sources modifiée et la dll compillé en pj

++
David

Voir la pièce jointe BoxAuto_source.zip

Voir la pièce jointe BOX_AUTO_dll.zip
 
K

Klystron

Compagnon
Je vois que ta nouvelle machine est sur son socle, du costaud .
les glissières sont sur galets.
Yves

oui c'est bon je viens de faire un essai :-D
 
Dernière édition:
K

Klystron

Compagnon
David ,

-> tu as fait du bon boulot pour le programme de speedjf37 :smt038

bonne soirée
je vais me coucher ...
yves
 
Dernière édition:
K

Klystron

Compagnon
oui la PFK 605 de mémoire de BZT.
j'ai modifié la noix de fixation de la broche , et aussi fait un systeme pour réduire la vitesse par une poulie pour avoir un peu plus de couple.
j'ai adapté aussi un systeme pour faire de la découpe de polystyrene au fil chaud.

bon je vais me coucher a +

Yves
 
D

dh42

Compagnon
apparemment la grosse différence entre PFK et PFE c'est que la PFK à un bâtis en acier et un portique alu alors que les PFE sont toute en acier ... sinon c'est les mêmes (et le prix aussi) ... PFK0605 ou PFE500, c'est tout ce que je pouvais faire rentrer ... sinon il faut que je m'installe dehors ! ... mais il n'y en a pas très souvent d'occas sur ces machines, donc je n'ai pas réfléchi trop longtemps :twisted: ...

++
David
 
S

speedjf37

Compagnon
Bonjour,

@david

Bien vu , l'explication est tout à fait claire.

J'ai réutilisé le plug-in modèle sans le remettre en cause , j 'ai assez galéré pour trouvé les méthodes qu 'il me fallait.

Pour mon premier code en VB et plug-in je n'ai pas tout pigé !

Merci pour les modifs du source c'est nickel , cela va surement servir à faire d'autres outils spécifique à nos besoins.

Cordialement JF
 
D

dh42

Compagnon
Salut,

J'ai réutilisé le plug-in modèle sans le remettre en cause , j 'ai assez galéré pour trouvé les méthodes qu 'il me fallait.

Oui, je veux bien te croire ; en plus le "flatten plugin" que tu a utilisé est un de mes premier, donc pas mal de choses inconnues pour moi aussi à cette époque.

Pour mon premier code en VB et plug-in je n'ai pas tout pigé !

Oui, c'est normal ; moi je trouve que tu t'en ai très bien tiré !

Quand j'aurais un moment, j'implémenterais le système de traduction et quelques "sécurités" et je l'ajouterais au site des plugins.

++
David
 
K

Klystron

Compagnon
Bonsoir speedjf37,
merci pour la mise à jour.
Yves.
 
K

Klystron

Compagnon
Re bonsoir,
sur Cambam le texte est bon, par contre si tu exportes le fichier en DXF via un logiciel de DAO, toutes les " é ou è ) donnent des choses bizarres.
pas bien grave en soit , il faut le savoir.
Yves
 
S

speedjf37

Compagnon
Re bonsoir,
sur Cambam le texte est bon, par contre si tu exportes le fichier en DXF via un logiciel de DAO, toutes les " é ou è ) donnent des choses bizarres.
pas bien grave en soit , il faut le savoir.
Yves

Ok merci.
Je ferais des test ,d'habitude j'oublie les accents mais la j'avais envie de franciser !!
JF
 
D

dh42

Compagnon
Salut,

Pour le texte, je ne pense pas que tu puisse y faire grand chose ; CB sauve au format autocad R12/R13 (AC1009) et tu ne peux pas modifier les fonctions de sauvegarde DXF ... après ça dépend de l’interprétation du logiciel qui lis le DXF. (peut être un paramétrage dans le soft qui importe pour interpréter le texte en ANSI ou en UTF-8 = format de codage du texte importé, mais pas trouvé)

Pour ma part après quelques essais sur un DXF exporté par CB et ouvert dans un autre soft:

- dans Autocad (2000), non seulement les caractères accentués ne passent pas, mais toute les lignes sont superposées au même endroit du dessin.

- dans solidworks (2008) c'est le plus drôle, la prévisualisation du DXF au moment de l'import est correcte pour ce qui est de la position du texte (mais pas pour les caractères) ... mais une fois importé le résultat est différent suivant que je l'importe dans une nouvelle pièce (texte à sa place, mais pas d'accent) ou en tant que mise en plan (idem résultat autocad)

Dans illustrator, les textes sont à la bonne place, mais pas de ctr accentués ..

Sur 3DSmax, le texte ne passe pas du tout.

sur FreeCAD .... je ne suis pas arrivé à charger un DXF :roll: ..

sur CamBam, pas de problème, tout est au bon endroit avec les bons caractères ...

++
David
 
K

Klystron

Compagnon
Bonsoir David,
Oui c'est un détail pas tres important.
ne pas mettre l'accent c'est encore le plus simple :-D
personnellement j'ai essayé le fichier DXF sur QCAD.
bonne soirée
Yves
 
Dernière édition:

Sujets similaires

E
Réponses
19
Affichages
1 247
enzo78
E
El Zorro
Réponses
10
Affichages
443
S
V
Réponses
18
Affichages
886
vibram
V
Moi33
Réponses
2
Affichages
769
Moi33
Moi33
E
Réponses
9
Affichages
336
copeaudacier
C
PL50
Réponses
11
Affichages
1 019
D
A
Identification Petit tour ancien
Réponses
8
Affichages
725
FB29
PL50
Réponses
17
Affichages
1 269
gégé62
gégé62
P
Réponses
2
Affichages
1 450
Ph00enyx
P
D
Réponses
64
Affichages
2 313
dolominus
D
F
Réponses
28
Affichages
1 881
MegaHertz
MegaHertz
E
Réponses
11
Affichages
514
Aiwass
Aiwass
Haut