Klik op het logo voor hulp op afstand
  
 
 
 
 
 
 
 




Spiegel functie(s) kunnen oproepen vanuit script (3.11 P1 - 2076)


 
Sinds JoPPS 3.31 P1 is er een extra argument ‘immediate’ toegevoegd om de gebruiker toe te laten aan te geven of de editorfunctie onmiddellijk wordt uitgevoerd of niet :

PerformEditorFunction(funId[,immediate])
 
Er zijn 2 scenario’s mogelijk ten gevolge van deze extra optie :
 
ofwel is de optie “immediate” = True, dan zal de editorfunctie zal dan onmiddellijk uitgevoerd worden
ofwel is de optie “immediate” = False, dan zal de editorfunctie wachten op bevestiging/annulering door de gebruiker
 
of via script functies “AcceptEditorFunction” en “CancelEditorFunction
 
Onderstaand een volledig uitgewerkt voorbeeld met de nieuwe functionaliteit toegepast op de spiegelfuncties:
 
/* Spiegelen van vleugel(s) in editor */
/* Gunter Selleslagh - september 2015 */

/* Current project */
CurPro := GetCurrentProject();
if CurPro = Nil then halt;

CurGroep := CurPro.ProjectData.CurrentAssembly;
if CurGroep = Nil then halt;

if AskYN('Spiegel constructie?') then 
{ CurFun := FUN_MIRROR_MODEL;
}
else
{ CurFun := FUN_MIRROR_FRAME;
};

if AskYN('Onmiddelijk uitvoeren?') then 
{ CurImmediate := True;
}
else
{ CurImmediate := False;
};

if CurGroep.IsAssembly && !CurGroep.Locked then
{ j := 0;
  while j < CurGroep.ChildCount do /* assemblies */
  { CurFrame := CurGroep.Children[j];
    
    if CurFun = FUN_MIRROR_FRAME then
    { k := 0;
      while k < CurFrame.ChildCount do
      { CurObject := CurFrame.Children[k];
      
        if CurObject.IsFrameOpening then
        { l := 0; CurOpening := CurObject;
      
          if !CurObject.IsBasicFilling then
          { SelectEditorFunction(CurFun,True);
            CurPro.SelectOne(CurOpening);
            PerformEditorFunction(CurFun,CurImmediate);
            
            if CurImmediate = False then
            { if AskYN('Zeker?') then
              { AcceptEditorFunction(CurFun);
              }
              else
              { CancelEditorFunction(CurFun);
              };
            };
          };      

          l := l + 1;
        };
      
        k := k + 1;
      };
    }
    else
    { SelectEditorFunction(CurFun,True);
      CurPro.SelectOne(CurFrame);
      PerformEditorFunction(CurFun,CurImmediate);

      if CurImmediate = False then
      { if AskYN('Zeker?') then
        { AcceptEditorFunction(CurFun);
        }
        else
        { CancelEditorFunction(CurFun);
        };
      };
    };
    j := j + 1;   
  };
};
 
 

Opmerkingen

  • Momenteel zijn enkel de editorfuncties “taken uitvoeren”, “spiegelen constructie” en “spiegelen kader(s) / vleugel(s)” echt voorzien om langs scripting te gebruiken. Sommige functies vragen éénmaal gebruikers input om effectief te werken!
  • Nesten van editorfuncties via script werkt niet!
 
 



 |  History  |
 
 

 
 
 
TECHWIN SOFTWARE
De Regenboog 11
B-2800 Mechelen
T +32(0)15 44 64 64
T +31(0)30 899 32 15 Nederland