• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Ändern Sie ein Bild nach einigen Parametern

  • Ersteller Ersteller Angelo2449
  • Erstellt am Erstellt am

Angelo2449

Guest
Hallo alle,
Ich versuche, einen Code zu schreiben, der ein Bild nach einigen Parametern resizet, ich erkläre besser mit der Liste:
Code:
(defun c:georef (/ imagepointuno imagepointdue dwgpointuno dwgpuntodue dist1 dist2)

(Setvar "osmode" 0)

(setq image nil)
(sing)
(= Bild nil)
(setq-Bild (entsel "\nselect the image to georeferencing : ")
)

;;---------------------------------------------------------------------------------------------------------------------------------------------------------

(setq imageuno nil)

(sing)
(= imagepointuno nil)
(princ "\nprimo Punkt des Bildes: "
(setq image puntouno (getpoint)
)

(Satzbild puntodue nil)

(sing)
(= imagepuntodue nil)
(princ "\nsecond point of the image: "
(setq image puntodue (getpoint)
)

;;---------------------------------------------------------------------------------------------------------------------------------------------------------

(Sectq dwgpointuno nil)

(sing)
=
(princ "\nfirst point of the relief: "
(setq dwgpuntouno (getpoint)
)

(Sectq dwgpuntodue nil)

(sing)
(= dwgpuntodue nil)
(princ "\nsecond point of relief: "
(setq dwgpuntodue (getpoint)
)

(setq dist1 (distanz imagepuntouno imagepuntodue)
(princ "\n")
(princ dist1)
(princ "\n")
(setq dist2 (distanz dwgpuntouno dwgpuntodue))
(princ "\n")
(princ dist2)
(princ "\n")

(Siehe Bericht (/ dist1 dist2))
Ich sollte jetzt das ausgewählte Bild (Bild) mit der Verwendung von "Report" skaliert, aber ich kann nicht richtig seinen Befehl schreiben.
Danke.
 
Ich habe den Befehl eingegeben, aber ich bekomme Fehler:
Code:
(defun c:georef (/ imagepointuno imagepointdue dwgpointuno dwgpuntodue dist1 dist2)

(Setvar "osmode" 0)

(setq image nil)
(sing)
(= Bild nil)
(setq-Bild (entsel "\nselect the image to georeferencing : ")
)

;;---------------------------------------------------------------------------------------------------------------------------------------------------------

(setq imageuno nil)

(sing)
(= imagepointuno nil)
(princ "\nprimo Punkt des Bildes: "
(setq image puntouno (getpoint)
)

(princ "\n")
(princ image puntouno)
(princ "\n")

(Satzbild puntodue nil)

(sing)
(= imagepuntodue nil)
(princ "\nsecond point of the image: "
(setq image puntodue (getpoint)
)

(princ "\n")
(Princ imagepuntodue)
(princ "\n")

;;---------------------------------------------------------------------------------------------------------------------------------------------------------

(Sectq dwgpointuno nil)

(sing)
=
(princ "\nfirst point of the relief: "
(setq dwgpuntouno (getpoint)
)

(princ "\n")
(princ dwgpuntouno)
(princ "\n")

(Sectq dwgpuntodue nil)

(sing)
(= dwgpuntodue nil)
(princ "\nsecond point of relief: "
(setq dwgpuntodue (getpoint)
)

(princ "\n")
(princ dwgpuntodue)
(princ "\n")

(setq dist1 (distanz imagepuntouno imagepuntodue)
(princ "\n")
(princ dist1)
(princ "\n")
(setq dist2 (distanz dwgpuntouno dwgpuntodue))
(princ "\n")
(princ dist2)
(princ "\n")

(Befehl "_scale" Bild dwgpointuno "_r" dist1 dist2)

)
Danke.
 
Tut mir leid, ich vergaß die Bilder zwischen Bild und dwgpointuno (Bild ") dwgpointuno), jetzt funktioniert es, das Bild wird reize, aber nicht in "dwgpointuno" bewegt, sondern in einem Punkt ?.
Danke.
 
Wenn Sie das Bild verschieben möchten, verwenden Sie nach den Befehlsskala:
(Befehl "_scale" Bild ") Bild "_r" dist1 dist2)
(Befehl "_move" Bild ") Bild Verfahren)
 
Perfekt!
Jetzt funktioniert es, hier ist die endgültige Liste (fast) :
Code:
(defun c:georef (/ imagepointuno imagepointdue dwgpointuno dwgpuntodue dist1 dist2)

(Setvar "osmode" 0)

(setq image nil)
(sing)
(= Bild nil)
(Setq-Bild (Auto (nentsel "\nsel wählen Sie das Bild als georeferentielles : ")))
)

(princ "\n")
(Princ-Bild)
(princ "\n")

;;---------------------------------------------------------------------------------------------------------------------------------------------------------

(setq imageuno nil)

(sing)
(= imagepointuno nil)
(princ "\nprimo Punkt des Bildes: "
(setq image puntouno (getpoint)
)

(princ "\n")
(princ image puntouno)
(princ "\n")

(Satzbild puntodue nil)

(sing)
(= imagepuntodue nil)
(princ "\nsecond point of the image: "
(setq image puntodue (getpoint)
)

(princ "\n")
(Princ imagepuntodue)
(princ "\n")

;;---------------------------------------------------------------------------------------------------------------------------------------------------------

(Sectq dwgpointuno nil)

(sing)
=
(princ "\nfirst point of the relief: "
(setq dwgpuntouno (getpoint)
)

(princ "\n")
(princ dwgpuntouno)
(princ "\n")

(Sectq dwgpuntodue nil)

(sing)
(= dwgpuntodue nil)
(princ "\nsecond point of relief: "
(setq dwgpuntodue (getpoint)
)

(princ "\n")
(princ dwgpuntodue)
(princ "\n")

(setq dist1 (distanz imagepuntouno imagepuntodue)
(princ "\n")
(princ dist1)
(princ "\n")
(setq dist2 (distanz dwgpuntouno dwgpuntodue))
(princ "\n")
(princ dist2)
(princ "\n")

(Befehl "_scale" Bild "_r" dist1 dist2)
(Befehl "_move" Bild "imageuno dwgpuntouno)

(Alert "Skala und Georeferenzierung des Bildes aufgetreten")

)
Nun möchte ich das Bild in die zweite Etage bringen, wenn Sie noch etwas Geduld haben....
Danke für eine Million!
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben