Jump to content


  • Posts

  • Joined

  • Last visited


0 Neutral

Personal Information

  • Location
  1. I tried to implement your advice but it was unsuccessful. It seems that only some instructions are executed during the dialogue loop such as:AlrtDialog(), CreateText()+ReDrawAll(). Here is my Dialog_Handler function which I'm working at..... def Dialog_Handler(item, data): (ok, objectName, objectHand, recordHand, wallHand) = GetCustomObjectInfo() def update_and_execute():#===== this subroutine is intended to be used with item==1 and item ==12605 # ========retrieving values====== esito,inter.c1 = GetEditReal(dialogID,12,3) esito,inter.c2 = GetEditReal(dialogID,14,3) (outSelectedIndex, outSelectedChoiceText) =GetSelectedChoiceInfo(dialogID, 16, 0) inter.d = outSelectedChoiceText # ========= updating object info palette=== SetRField(objectHand, GetName(recordHand), 'ci',str(inter.c1/10) ) SetRField(objectHand, GetName(recordHand), 'cf',str(inter.c2/10)) SetRField(objectHand, GetName(recordHand), 'diam', inter.d) ResetObject(objectHand) if item == 12255:# SetupDialogC -> My Custom Window Init AddChoice(dialogID, 16, '8', 0) AddChoice(dialogID, 16, '10', 1) AddChoice(dialogID, 16, '12', 2) if v3 =="8": choice = 0 elif v3 =="10": choice = 1 elif v3 =="12": choice = 2 SelectChoice(dialogID, 16, choice, False)#=====update pulldown menu -> OK! elif item == 2:#=====Cancel button pressed -> OK! pass elif item ==1: #==== OK button pressed -> OK! update_and_execute() elif item == 12605 :# ======Preview button pressed -> AlrtDialog(('item= '+ str(item) + ' data= '+ str(data)))#===== THIS WORKS update_and_execute()#=====THIS DOESN'T REGENERATE PIO AS item==1 DOES ! ResetObject(objectHand)#=====THIS DOESN'T WORK TOO ! CreateText(str(item))#==== THIS WORKS WITH ReDrawAll() ! ReDrawAll()
  2. I've got an event-enabled linear PIO that raise a custom dialog with a double click on it. It works fine swapping values between custom dialog and info object palette. I've implemented dialog handle procedure with item 1 (OK Button), item 2 (CancelButton). Now I would like to add item 12605 (preview button) which would operate as the Ok button (updating PIO ), but without exit from dialog. It doesn't work at all because seems that you must exit from the dialog event loop to obtain PIO updating. Thanks in advance for any suggestion.
  3. It works as I expected ! Thanks !
  4. Why import vs number = "123" vs.Message("Type=", type (number) ) returns : "Types =" instead of "Types =int" ? Thanks
  5. In my Plug-in manager it is seen as a Text file but, I suppose, that is a 2D Path Object. Could you post the parameter list ? Thanks for your sharing...... AB.
  6. Which parameter of Page/Printer setup are you focus on ? Number o pages, printable area ?
  7. This is my answer. I create a new command called "Join Linear PIOs", placed under "Edit" menù and this is its code: Procedure JoinTwoSelectedLinearPios; VAR h1,h2:HANDLE; P1,P2,P3,P4:POINT; P:POINT; parallel :BOOLEAN; intOnLines :BOOLEAN; d1,d2,d3,d4:REAL; BEGIN h1:=FSActLayer; h2:=NextSObj(h1); GetSegPt1(h1,P1.x,P1.y); GetSegPt2(h1,P2.x,P2.y); GetSegPt1(h2,P3.x,P3.y); GetSegPt2(h2,P4.x,P4.y); LineLineIntersection(P1,P2,P3,P4,parallel,intOnlines,P); {====gather P1,P2,P3,P4 distances from P========} IF (parallel=FALSE) THEN BEGIN d1:=Distance(P1.x,P1.y,P.x,P.y); d2:=Distance(P2.x,P2.y,P.x,P.y); d3:=Distance(P3.x,P3.y,P.x,P.y); d4:=Distance(P4.x,P4.y,P.x,P.y); { ===== join PIOs trimming the shortest side...=====} IF d1<d2 THEN SetSegPt1(h1,P.x,p.y) ELSE SetSegPt2(h1,P.x,p.y); IF d3<d4 THEN SetSegPt1(h2,P.x,p.y) ELSE SetSegPt2(h2,P.x,p.y); END; END; RUN(JoinTwoSelectedLinearPios); Well, it doesn't check if h1 and h2 are linear PIO's or other objects, but it works with 2d Lines too. Hope to be useful....
  8. Hi everybody! Who does know the way to make a linear PIO responsive to Join command ? Thanks.
  • Create New...