| |
 | KISTERS 3DViewStation: verbesserte Effizienz durch optimierte Bedienoberfläche, eine Pressemitteilung
|
Autor
|
Thema: IUA Filter-Erstellung (874 mal gelesen)
|
usa_andi Mitglied
 Beiträge: 8 Registriert: 20.08.2003
|
erstellt am: 20. Aug. 2003 02:47 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Kann mir jemand verraten wie ich mittels IUA-Programm einen Layer-Filter erzeugen kann? Habe die richtige Routine schon gefunden und kann sogar einen Filter erzeugen. Leider weiss ich nicht, wie ich die Information ueber die zu enthaltenden Layer uebergeben bekomme. Thanks in advance ... Andi IP |
usa_andi Mitglied
 Beiträge: 8 Registriert: 20.08.2003
|
erstellt am: 21. Aug. 2003 00:00 <-- editieren / zitieren --> Unities abgeben:         
Update: Ich habe folgendes versucht: (Beginn Programmauszug) LOGICAL FILT(255) FORMAT 1 ... LET I = 0 DO LET I = I + 1 LET FILT(I) = TRUE WHILE (I LT 255) ... LOAD GIWFIL 1,13,'W/O WIREFRAME',FILT,0,IER ... (ENDE Programmauszug) Funktioniert leider nur zu einem viertel! :-( Nur Jeder 4. Layer in dem neuen Filter wird aktiviert. Ich glaube ich mache was grundlegendes Flasch was das ARRAY betrifft, bin mir aber nicht ganz sicher. Kann mich jemand von meinen Kopfschmerzen befreien? Andi IP |
usa_andi Mitglied
 Beiträge: 8 Registriert: 20.08.2003
|
erstellt am: 22. Aug. 2003 20:18 <-- editieren / zitieren --> Unities abgeben:         
Hurraaa! Ich habs selber rausgefunden! Die Online-hilfe hat mich irregefuehrt! Dort stand zu lesen: LFILT L*1 (255) LFILT(l) = .TRUE. The l -1 Layer is Visible. Deshalb hab ich geglaubt ich muss eine LOGICAL Variable verwenden. Diese enthalten aber 4 Bytes und deshalb wurde auch nur immer jeder 4. Layer aktiviert. Loesung: Verwendung einer ALPHANUMERISCHEN Variable mit werten 1 und 0! CHAR*1 LFILT(255) LET LFILT(1) = '1' *Schaltet Layer 0 ein! LET LFILT(2) = '0' *Schaltet Layer 1 aus! u.s.w. Jetzt kann ich beruhigt ins Wochenende gehen. Schade nur das mir niemand dabei helfen konnte. Haette mir viel rumprobieren (Zeit) und Nerven eingespart. Naja, vielleicht beim naechsten mal ....
IP |
usa_andi Mitglied
 Beiträge: 8 Registriert: 20.08.2003
|
erstellt am: 22. Aug. 2003 20:20 <-- editieren / zitieren --> Unities abgeben:         
Ich haette mir selber dafuer ein paar Units geben wollen, aber ich verstehe natuerlich das das nicht geht :-)))) IP |
dc_tke Mitglied

 Beiträge: 23 Registriert: 07.07.2003
|
erstellt am: 28. Aug. 2003 14:35 <-- editieren / zitieren --> Unities abgeben:          Nur für usa_andi
Hallo mich wundert, dass es überhaupt funktioniert, da du für die Adresse des erzeugten Filters eine 0 übergibst, was für einen Rückgabewert nicht besonders intelligent ist. Das Makro müßte funktionieren wenn du folgende Zeile korrigierst LOAD GIWFIL 1,13,'W/O WIREFRAME',FILT,jFILT,IER Alternativ kannst du auch GIWFILI benutzen. IP |
dc_tke Mitglied

 Beiträge: 23 Registriert: 07.07.2003
|
erstellt am: 28. Aug. 2003 15:42 <-- editieren / zitieren --> Unities abgeben:          Nur für usa_andi
Der Fehlerteufel hat zugeschlagen Richtig ist natürlich (damit es zu deinem Code passt): LOAD GIWFIL 1,13,'W/O WIREFRAME',LFILT,jFILT,IER jFILT wird als integer deklariert
IP |