Zoek en vervang verbindingen (3.33 - 2994)


Voortaan is het mogelijk om op eenvoudige manier de verbindingen van kaders en vleugels te wijzigen voor een volledig project, een aantal geselecteerde groepen of enkel de huidige groep in de editor.

De basisgegevens tabel REEKS werd daarvoor voorzien van 5 ‘Verbindingssets’ waarmee de gebruiker in functie van een reeks een scenario kan definiëren voor het wijzigen van het kader en/of vleugel verbindingen:

Verbinding (verstek, doorlopen of stoppen)
Montage (persen, schroeven of klemmen)
Weergave (standaard verbinding, verstek, doorlopen of stoppen)
Zijde (weergave beide, binnen of buiten)

Via het menu ‘Project  - Zoek en vervang – Verbinding…’ of ‘Groep – Zoek en vervang – Verbinding...’ kan men de verbindingen wijzigen:

      

In de editor kan men eveneens via het menu ‘Zoek en vervang – Verbinding…’ onder de rechterklik de dialoog oproepen om verbindingen te wijzigen:

 

De bij de reeks gedefinieerde verbindingssets worden gebruikt als standaard tijdens het oproepen van de dialoog om de verbindingen te wijzigen.

 

De dialoog ‘Zoek en vervang verbinding(en)’ is eveneens aan te spreken via JoPPS scripting d.m.v. volgende syntax :

REPLACEDATADLG(parameter1, parameter2, parameter3[, …])

DLG_JUNCTION constante
start object object
dialoog tonen boolean
zoeken naar reeks string
specifieke reeks boolean
verbindingsset integer (0..4)
kader verbinding boolean (*)
kader montage boolean (*)
kader weergave boolean (*)
kader zijde boolean (*)
vleugel verbinding boolean (*)
vleugel montage boolean (*)
vleugel weergave boolean (*)
vleugel zijde boolean (*)
 
/* Voorbeeld Zoek en vervang verbindingen  */
/* Gunter Selleslagh - 2016 */
/* Current project */
 
CurPro := GetCurrentProject();
if CurPro = Nil then halt;
 
i := 0;
while i < CurPro.ProjectData.ChildCount do /* assemblies */
{ CurGroep := CurPro.ProjectData.Children[i];
  if CurGroep.IsAssembly && !CurGroep.Locked then
  { j := 0;
    while j < CurGroep.ChildCount do /*frames */
    { CurFrame := CurGroep.Children[j];
    
      ReplaceDataDlg(DLG_JUNCTION, CurFrame, True, 'ZENDOW', True, 4);
      
      j := j + 1;   
    };
  };
  i := i + 1;
};
 
De gebruiker kan deze functie ook aanroepen vanuit de acties gekoppeld aan een taak tijdens het opladen van het kader/vleugel model.

Bijvoorbeeld door het koppelen van de taak GS_TAAK van het type optie aan het kadermodel GS-BC00 :

 

In de actie GS_TEST wordt dan de functie REPLACEDATADLG opgeroepen met de nodige parameters, zoals :

  • dialoog tonen
  • kader/vleugel object
  • standaard reeks
  • filteren op reeks
  • te gebruiken verbindingsset 

Voorbeeld van de code in de actie GS_TEST gekoppeld aan de taak GS_TAAK:

kind := Action.AtomId;
atom := AtomToObj(Action.Atom);
code := '';
if kind = 203 then
{
    code := atom.model.system;
}
else
{
    code := atom.system;
};
ReplaceDataDlg(DLG_JUNCTION, atom, True, code, True, 4);

 




 |  History  |