Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  Eigenschaften übernehmen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Eigenschaften übernehmen (883 mal gelesen)
Theo37
Mitglied
Techniker


Sehen Sie sich das Profil von Theo37 an!   Senden Sie eine Private Message an Theo37  Schreiben Sie einen Gästebucheintrag für Theo37

Beiträge: 423
Registriert: 08.10.2008

ACAD 2019
WIN 7 64bit
Intel Xenon CPU E5-1620 3.60GHz
16GB RAM

erstellt am: 16. Mai. 2012 18:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo an Alle,

ich möchte aus einer XLINE einen RAY erstellen. Dabei sollen alle Eigenschaften der Konstruktionslinie auf den Strahl übernommen werden. Außer den Basispunkt den möchte ich selbst festlegen. Unten sind vergebliche Versuche. Hat jemand ne Idee wie sowas geht.

Danke Theo


                        MyRay = CType(MyKLine.Clone, Ray)
                        'MyRay = New Ray
                        'MyRay.BasePoint = Schnittpunkt(0)
                        'MyRay.SecondPoint = MyKLine.SecondPoint
                        'MyKLine.Erase()

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 16. Mai. 2012 18:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Theo37 10 Unities + Antwort hilfreich

Hallo Theo,

da gibt es 2 Möglichkeiten:
a) du setzt die Eigenschaften einzeln von der KLinie auf den Strahl
strahl.Layer = KLinie.Layer
...
b) du beshäftigst dich mit dem System.Refelction-Namespace
mit dieser kannst du alle Eigenschaften von einer Klasse auslesen und die Werte abfragen und setzen. Das ist der elegantere Weg, und du kannst daraus einen allgemeinen Eigenschaften-Kopierer bauen.

Code:

// using System.Reflection;
// ...
Xline _XLine = new Xline();//das ist die XLine, die du wohl hast
Ray _ray = new Ray();
PropertyInfo[] _RAY_pis = typeof(Ray).GetProperties();
foreach (PropertyInfo _pi in _RAY_pis)
{
  PropertyInfo _xl_pi = typeof(Xline).GetProperty(_pi.Name);
    if (_xl_pi != null && _xl_pi.CanWrite)
      try
      {
        _xl_pi.SetValue
        (_ray,
        _pi.GetValue(_XLine, null),
        null
        );
      }
      catch { }
    }

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Theo37
Mitglied
Techniker


Sehen Sie sich das Profil von Theo37 an!   Senden Sie eine Private Message an Theo37  Schreiben Sie einen Gästebucheintrag für Theo37

Beiträge: 423
Registriert: 08.10.2008

erstellt am: 18. Mai. 2012 08:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Holger,

ich denke das krieg ich hin. ich hab mit dem Property-Object schon mal was gemacht. Bin nur selbst nicht auf diese Lösung gekommen, weil ich dachte es gäbe ne ganz tolle Lösung, wie clonen oder so. Würde mich interesieren, was in ACAD im Hintergrund abläuft, wenn  z.B. eine K-Linie gestutzt wird. Und aus der K-Linie ein Strahl wird.

Gruß, Theo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Theo37
Mitglied
Techniker


Sehen Sie sich das Profil von Theo37 an!   Senden Sie eine Private Message an Theo37  Schreiben Sie einen Gästebucheintrag für Theo37

Beiträge: 423
Registriert: 08.10.2008

ACAD 2019
WIN 7 64bit
Intel Xenon CPU E5-1620 3.60GHz
16GB RAM

erstellt am: 22. Mai. 2012 16:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich hab das mal nach VB übersetzt, falls es irgend jemand mal brauchen kann.
Gruß, Theo

Sub TakeProperties(ByRef Muster As Entity, ByVal Ziel As Entity)
        Dim ZielProp() As System.Reflection.PropertyInfo
        Dim Prop As System.Reflection.PropertyInfo
        ZielProp = Ziel.GetType.GetProperties()
        Dim MusterProp As System.Reflection.PropertyInfo
        Dim Index() As Object
        Dim MyValue As Object
        For Each Prop In ZielProp
            MusterProp = Muster.GetType.GetProperty(Prop.Name)
            Try
                MyValue = MusterProp.GetValue(Muster, Index)
                Prop.SetValue(Ziel, MyValue, Index)
            Catch
            End Try
        Next
    End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz