Jump to content

ademes

Mitglieder
  • Gesamte Inhalte

    131
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von ademes

  1. Andy, I restart the program MBS_Visual_Editor and, as described before, it remains as a gray reduced window; but when I right click in it and ask to enlarge, the window takes the whole screen with the correct data in it. So it works, but I cannot reduce this window as I don't have the opportunity to click in the corners of the frame. I'll now search how to do this. And, also, I don't kwow how this happened! Concerning the second point in my former intervention, the question was to have a place (wiki or something like it) where all plugins available are described. The reason is that, for example, the plugin MBS_Visual_Editor is quite unknow by most of the users and I find that regrettable. Maybe some other "unknown" plugins could help in designing complex layouts. Best regards André
  2. Hi Andy, Thank you very much for your help and researches. I will try the solution you suggested and I come back to you with the results. Regards André
  3. Thank you Andy. Concerning the Ultimate_Variable_Editor plugin, I've to say that, when it works, it is great and very very usefull to help managing the variables. But for me, it doesn't work anymore... And I don't know why. Regards André
  4. Hi Andy, Of course, indirection is a solution but this means an additional even to read and store the loco's name in the stop track. As we already discused earlier, I try to manage my layout with as few as possible events and, thus, I was looking for another trick, if any. Of course, when the new options will be available, I probably will change the events accordingly. Andy, I have another question that I published on the forum under the name :Ultimate Variable Editor but, up to now, I've received no answer. Could you be so kind to have a look there? Thank you a lot. Regards André
  5. Hello, My question is very simple : as _Trigger1._Name points to the name of the timer when the condition 1 is "Timer expires", how to adress the loco residing on the track. In my labo layout, I've set the name of the timer = $_Trigger2._Name (= name of the track where "Loco" is stopped). So, when the the timer expires, _Trigger1._Name points both on the timer's name AND to the track where the loco resides; this permits to use the variables residing on the _Trigger2._Name object. This works great! But I also need some of the variables that are part of the object "Loco". All suggestions will be welcome? Thank you André
  6. Hello, I discovered this plugin and I used it a lot as this makes so easy to develop my layout. Unfortunatally, and I don't know why, since 3 days, it doesn't work any more; in place of the normal screen, I receive a full black screen. I currently work with Windows 10 and, as I know, no modification was implemented, except of course the normal automatic updates. I've reload and install once again both MBS_Variable_Editor and 3d_studio, but the wrong result remains. I need some help and I also have 2 questions : 1. How to implement MBS_Variable_Editor as a plugin instead of lanching it from its resident directory? 2. Is there a place where all existing plugins are defined and described? When you search for plugins from 3d, you receives only some of them. Many thanks and regards André
  7. Thank you all for your explanations. Regards André
  8. Hi Metallix, Yes, I discover the reaction of a track with "3d Model Only", but I don't see up to now the usage of such a category. And I don't know what is a "spline" for 3d. So, like you are, I'm waiting for some complete explanations as the Wiki is not clear at all on this point. Regards André
  9. Hello, Could someone explain in details the "Categary" function when editing a track. The current possibilities are : railroad, road, water, air, 3d model only. I need to understand what happen if I change the category of a track. In the same edit pannel, could someoe explain what is the difference for type = "spine" or "virtual". Many thanks in advance André
  10. Hi Andy and Bahnland, Up to a few days, I was thinking that MBS is a pluging. But during our exchanges you speak about MBS-version. Is MBS integreted into standard 3D? I have no problem to translate the Wiki into french, if this is helpfull. And the english version contains currently some sentenses that aren't in good english. Example : So instead of a concrete specify locomotive speed, also the name of a variable can be set to give the 3D model railway club takes the actual speed of the variable. should be So instead of specifying a specific locomotive speed, the name of a variable can also be set, whereby the 3D model train studio takes the actual speed from the variable. Regards André
  11. Andy, As I already said : when the internal logic is defined and well known, there should be no real problem to adapt. We are currently exchanging information concerning one solely case. That's OK and I thank you for that. But now I would like to know if other problems may arise. And how to solve them. In other words, it should be great to create a kind of addendum to the Wiki to explain to everybody the real rules governing the event resolutions. Maybe with some additional tricks. Espescially in relation with the development of the next version of 3d; if I understood well, there will be some possibilities to develop kind of programming as part of the events. What will be the exact relation between these part of coded lines and the internal logic of 3d? That's what one need to know, in my opinion. What do you think about that? What will be the next step? These are the questions, now. Regards André
  12. Hi Andy and Bahnland, Thank you both for all axplanations you gave. And be sure that I understand your logic (=3d logic) even if I cannot imagine the reason for solving the event's triggers, behalve to avoid infinitive loops (something that I know as I worked as programmer ans project leader since 1968). But the problem remains! Look again to the small diagram I send to you : the purpose was to print either YES, either NO depending on the value of VAR1. Due to your logic, both are printed, which is wrong. In addition, as demonstrate by Andy, the sequence for the execution of the event is not as foreseen (= wat you see). Remember the general informatica rule WYSIWYG (what you see is wat you get); instead of behing 1,2,3, the event sequence is now 1,3,2. and that is not what I've expected. This logic of 3d involves a lot of consequences as, for example (not exhaustive list): - if I create a variable in an event, I'm not sure that it will be present when I will test it later in the sequence - if a variable vary due to some manipulations, the result may be totally different than expected (my case) - If I use the variables _Trigger1 or _Trigger2, an I sure that their value will be exactly what I expect at the correct moment? - etc.. Finally, no matter what the logic is as long as all users are aware of it as it isexplained in the Wiki; but it is not the case currently. So, my final question : do you think that it is possible to optimize the event list? I mean not duplicating the events or the variables. Thank you again Regards André
  13. Hi Andy and Bahnland, Starting from the sample given by Andy, I try to understand the logic behind. So I change the logic of the events in order to reflect exactly what I want, expressed in the diagram furnished here below. And the result is trully not understandable. In fact, the EV cycle reacts exactly as if the content of the variable VAR1 does'nt matter. This is very strange. If I understood correctly what you said, the "Ereignisdefinition" as you call it is executed (checked, validated,...) first and the actions are executed a the event moment. In this case, at "Ereignisdefinition" time, VAR1 contains 1; however, the Check2 event is executed while the condition isn't met. How is this possible? I now hope to get a full description of that logic, because otherwise, I don't see how to build easily and correctly my layout. Many thanks in advance André logic2.mbp
  14. Hi Andy I'm lost... And completely disapointed. 1. This means that I will stop searching solutions where there are none. 2. Could you tell me where I can found that explanation, no matter if it is in german; translators exist for that. 3. Why 4 positions in that case? I don't understand the logc behind. Anyway thank you again Andy. Regards André
  15. Hi Andy, Thank you for your answer and to take time looking at my problems. The questions are now : 1. What kind of system am I expecting to build. I'm not ready for building something like MBS; I just want to create my layout with as few efforts as possible. This means, for example, not duplicating event if this can be done another way. Now, if the ideas can help other 3D users on their layouts, it will be great! Therefore, I plan to write a kind of proposal document where I will try to explain my vision and how to reach it; this document should be reviewed by authorized people in order to check if it is realist and also if some of the ideas aren't yet foreseen in the next version of 3D. In particular, I want to explain what is a traject for me and what are the components needed to build a traject 2. I don't understand what you mean when you say :" all events are checked if they happen and if their conditions are fulfilled in kind of a locked state for events and variables and whatever needed". I've learned somewhere in the forum, but also in the Wiki, that there is no logic in the execution of the events : these are executed one after each other in the sequence they appear in the EV cycle. This cycle is executed from top to bottom with no loop in it, skipping the events that are disable. If this is not true, then it is time to explain in details how it works. In particular, using the "Trigger" variable names must avoid any equivocal ; one must be sure that the "Trigger" he is pointing to is the good one. Where you are right concerns the execution time; if two events are executed in sequence and if the result of the action in the first one is supposed to be tested in the second one, care must be taken and, maybe, try to have time in between. In other words, execute the 1st earlier when possible. 3. You also write : " assume that state '2' always switches the same path as state '0' and '3' always equals exactly '1'. " : it is not the purpose. If a switch may have up to 4 possible routes defined by 4 positions, I assume that the 4 positions of the crossing may be used to direct the train to the correct corresponding route. If a route does'nt permit to the train to travell over the crossing to the defined route, than the train must stop and this must be considered as : "the switch is not in the correct position and the train may not go forward". But, I agree with you that this is not necessary the best (good) solution. But I don't see others..! Regards André
  16. Hi Andy Here my "solution" concerning the switches; - I set variables "Crossing_status" and "Switch_status" in the object Traject1 to the desired value, let say 0 fot the switch and 2 for the crossing - Pressing then the "Kippschalter" switch only ones will change both switches to their correct position. This only occurs if the switches aren't in the foreseen position yet. If they are yet in the wanted position, nothing happens. I hope to be able to use that events for all switches and crossings that are present on my layout by using the nested $ values. what do you think about it? Regards André Trajet-1_Andy.mbp
  17. Hi Andy Here is the missing text Regards André
  18. Hi Andy As foreseen, I come back to you with my solution that nevertheless is not perfect. Just because I discover 2 new things, one good and one bad : Good : nesting "$" is allowed and it works! bad : the position for a switch may not be a variable! Here, please find a layout where : in yellow, the logic to implement : 3 trains following 3 different trajects through 6 blocks. The objective of this exercise is to be able to pilot the 3 trains with as few events as possible. Did I succeed? That is the question; any suggestion from you will be gratefull. Regards André test trigger.mbp
  19. Hi Andy, Thank you for your suggestion. Unfortunatally, this is not what I'm searching as you still hardcode the block names. However, your reflexion on using soft switches could be the opening of a new way to solve my problem, but I'm just thinking abot that. I'll come back to you if I find a solution. Regards André
  20. Hi Tom, This layout is my "laboratory" where I test different thinks. So, don't be scared if you don't find any logic between the layout and the events. 1. The 5 cubes you discovered are well object containing variables normally attached to a specific track (say section_n) within a block. The only reason is the following : if those variables were really attached to a track, it becomes impossible to just copy them if the new track is different (straight><curved, long><short,...). Having independant object solved this problem. 2. The board you discovered there is only a way to remember the syntax. 3. Each block has a track called "section"; their usage is to manage the block mentionning all needed data such as reservation, name, signal, etc... But, as earlier explained, these object-variables are set into the 5 cubes you discovered and the section track object contains only one variable "section.data", linking that track to its specific cube. The purpose was to have one and only one event for all "section track", but it seems to be impossible in V4 as discovered earlier in this thema : the variable's name must always be hardcoded and cannot be the value of another variable : VAR1 has the value TRK01 but one may not use $VAR1 as the name of the variable TRK01. In other words, the syntax $(VARx._Name).$VAR1 is wrong. André
  21. Hi Andy, The purpose is to build a common event able to pilot a train through the succeeding sections of the layout, according to an itinary (traject). This means that each time a decision has to be taken for the next section to reserve, I would find the name of this next section as the value of the object variable called itinary._Trigger2. But this combination doesn't work! In addition, I will assign the same name to all tracks acting as section : the name will be section and this object will have a pointer to an external table called "variable_sec_n" (n varying for each section) where all needed data will reside. This permits to copy this table easier than if the data are part of the track itself. So, I hope to have only one event to manage all sections in my layout. But, as Martin Luther King said : " I had a dream..!". The itinary to be followed by a specific train is defined as the object variable itinary in the object train. So, changing the traject for a train becomes very simple. Have a look to the event "test" in the following layout used for the different tests I'm doing. The results of this event are displayed in the center of the layout (value of A / B / C). However, the value of C is currently coded as $((_trigger1._Name).itinéraire).section_1 where I hope to replace section_1 by the content of another variable and that is the current objective I'm trying to reach. I hope that it is now clarified for you. Anyway, thank you for your help. Regards André test itinéraire 2.mbp
  22. Hi Andy Do you mean "NO SOLUTION"? No turn around? André
  23. Hello, (german follows) I'm searching since a few days without seing the solution... So, I need your help. Situation : I have a track called "section" in which I have the variable "Canton" with the value "section_1"; this value is the name of a variable in the object "itinary". I have another object called "Itinary" describing the traject for the train; in this object itinary, I have defined the variable "section_1" having the value "section_3" which is the next section. I need to set the object variable "section.next_section" to the value from the object variable itinary.XX where XX stands for the name found in the variable canton from object "section" Section.canton = section_1 - (section_1 this is the name of the variable from itinary containing the name of the next section for this section) Object variable value Section canton section_1 itinary section_1 section_3 Event Train enters track Section No conditions Actions : 1 set variable A = $((_Trigger2.data)._Name).canton ==> A = section_1 (= name of the variable in itinary) 2 set variable $((_Trigger2.data)._Name).next_section = $(itinary._Name).???? ==> next section = section_3 where ???? must be the variable's name which value is contained in the variable A how to build this action? Thank you for your help regards Hallo, folgt Ich suche seit ein paar Tagen ohne die Lösung zu sehen ... Also brauche ich deine Hilfe. Situation : Ich habe eine Spur namens "section", in der ich die Variable "Canton" mit dem Wert "section_1" habe. Dieser Wert ist der Name einer Variablen im Objekt "itinary". Ich habe ein anderes Objekt namens "Itinary", das den Trajekt für den Zug beschreibt. Ich habe in diesem Objekt itinary die Variable "section_1" mit dem Wert "section_3" definiert, der den nächsten Abschnitt darstellt. Ich muss die Objektvariable "section.next_section" auf den Wert aus der Objektvariablen itinary.XX setzen, wobei XX für den Namen steht, der im Variablenkanton aus Objekt "section" gefunden wird. Section.canton = section_1 - (section_1 Dies ist der Name der Variablen aus itinary, die den Namen des nächsten Abschnitts für diesen Abschnitt enthält.) Objekt variablen wert Section canton section_1 itinary section_1 section_3 Event Train enters track Section No conditions Actions : 1 set variable A = $((_Trigger2.data)._Name).canton ==> A = section_1 (= Name der Variablen in itinary) 2 et variable $((_Trigger2.data)._Name).next_section = $(itinary._Name).???? ==> next section = section_3 woher ???? muss der Name der Variablen sein, deren Wert in der Variablen A enthalten ist Wie baut man diese Aktion auf? Danke für deine Hilfe Grüße André
  24. Hello Bahnland, Yes I do! But I suppose that this is also managed via events. Am I wrong? Best regards André
  25. Hi Curt84328 Thank you for your comments. T.C.O. stands for "tableau de commande optiques" in french (optical control board) having the purpose to control a layout (real or virtual) like the one in attachement. And I'm sorry but I cannot open your video; what program should I use to watch it? And, finally, my purpose is to reproduce only the layout, not all other components present on the original view like cranes, buildings, etc.. But you are right to say that the events could be doubled. This is the reason why I'm looking for an other solution : being able to manipulate two or more switches with only one control buttom or command. Maybe am I dreaming...! Regards André
×
×
  • Neu erstellen...