HOME OGGETTI 3D LIBRI CORSI TUTORIAL FORUM SHOP CONTATTI   LOGIN









Autore Topic: come si crea oggetto con vista in pianta e prospetti  (Letto 1758 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

gianna_75

  • User
    ...frequento e metto a disposizione le mie conoscenze
  • *
  • Post: 1.168
ciao a tutti vi porgo questo quesito, m isto creando una bacheca di oggetti di arredamento in 2D con archicad, ma ho un problema........per creare oggetto in pianta e tutto semplice faccio la selezione e crea oggetto da selezione...fino a qui ci sono.
Però ho notato che ci sono degli oggetti in 2D tipo sanitari in cui puoi scegliere la vista deisderata cioè pianta o alzato, come faccio a crearlo anche io per lo stesso oggetto.
allego delle immagini per farmi capire

qoki55

  • Junior
    ...frequento ed imparo in fretta
  • *
  • Post: 282
Re:come si crea oggetto con vista in pianta e prospetti
« Risposta #1 il: 18 Aprile 2015, 15:48 »
Dovresti aggiungere un bel po di codice ai tuoi oggetti.


Il codice GDL per l´oggetto "Bidet Symbol 16.gsm" :

*************************************************
********* 2D Script ***********

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!! *** TYPE 1 *** !!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!! *** Symbol Type/ Type 1 *** !!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


if bidtyp=`Type 1` then

    if elevtyp=`Top` then                     !! tipo vista del Bidet = Dal Alto
        mul2 a/0.613147,b/0.365385
            fragment2 1,1
        del 1
    endif


    if elevtyp=`Side` then                     !! tipo vista del Bidet = Laterale
        mul2 a/0.612666,b/0.4
            fragment2 2,1
        del 1
    endif



    if elevtyp=`Front` then                     !! tipo vista del Bidet = Frontale
        mul2 a/0.365385,b/0.4
            fragment2 3,1
        del 1
    endif


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!! *** Fill / Type 1 *** !!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

fill gs_fill_type
pen gs_fill_pen

    if elevtyp=`Top` then
        mul2 a/0.613147,b/0.365385

!========= Disegna la vista "Dal Alto" ================
!===== Prima cosa : devi vedere le finestre Floor Plan e GDL sul Desktop del ArchiCAD;
!===== Con il metodo Drag&Drop (nella finestra Floor Plan ti disegni la VISTA "Dal Alto" - piu possibilmente
!======== vicino al punto 0,
!======== dopo la scegli, la trascini sulla finestra 2D Script del GDL e la rilasci.
!======== Cosi ottieni il codice in automatico - il disegno della vista si trasforma in testo GDL)
    POLY2_B{2}      25,     2, gs_fill_pen, gs_back_pen,
                       0,            0,            0,
            0.08223176841395,            0,      1,
            0.08223176841395, 0.08223176841395,    900,
                       0,          -90,   4001,
            1.118630803972E-017, 0.08223176841395,      1,
            1.118630803972E-017, 0.2831528469707,      1,
            0.08223176841395, 0.2831528469707,    900,
                       0,          -90,   4001,
            0.08223176841395, 0.3653846153846,      1,
            0.3881935985962, 0.3653846153846,      1,
            0.3798203992034, 0.06332458895338,    900,
                       0, -22.25578202435,   4001,
            0.5019726379668, 0.3397105520571,      1,
            0.3620827261118, 0.09130902617085,    900,
                       0, -22.91764126256,   4001,
            0.5876599377323, 0.2656289249173,      1,
            0.4654619487239, 0.1826923076923,    900,
                       0, -68.33001718119,   4001,
            0.5876599377323, 0.09975569046729,      1,
            0.3620827261118, 0.2740755892138,    900,
                       0, -22.91764126256,   4001,
            0.5019726379668, 0.02567406332747,      1,
            0.3798203992034, 0.3020600264312,    900,
                       0, -22.25578202435,   4001,
            0.3881935985962,            0,      1,
            0.08223176841395,            0,     -1
        del 1
    endif
!========= Disegna la vista "Dal Alto" ================


!========= Disegna la vista "Laterale" ================
    if elevtyp=`Side` then
        mul2 a/0.612666,b/0.4

        POLY2_B{2}      23,     2, gs_fill_pen, gs_back_pen,
                           0,            0,            0,
                0.4370851875397, 0.3611760966306,      1,
                           0, 0.3509535918627,      1,
                           0,          0.4,      1,
                0.6102729459928,          0.4,      1,
                0.6102729459928, 0.3976064974368,    900,
                           0, -102.8869334234,   4001,
                0.6126061612099, 0.3970726797989,      1,
                0.4028044761153, 0.4373377847619,    900,
                           0, -34.8790094434,   4001,
                0.5518922724945, 0.2843317237153,      1,
                0.3197895517916, 0.5027371941262,    900,
                           0, -22.8977135968,   4001,
                0.4486240239441, 0.2112336757113,      1,
                0.4590460311616, 0.1894516901886,    900,
                           0, 68.96956143728,   4001,
                0.4349748638338, 0.1875406613473,      1,
                0.4498633184997,            0,      1,
                0.02818499682136,            0,      1,
                0.03968531468531, 0.3266751430388,      1,
                0.01500727701232, 0.3266461210676,    900,
                           0, 93.91968188305,   4001,
                0.0132913815094, 0.3512644493676,      1,
                0.4370851875397, 0.3611760966306,     -1


        del 1
    endif
!========= Disegna la vista "Laterale" ================


!========= Disegna la vista "Frontale" ================
    if elevtyp=`Front` then
        mul2 a/0.365385,b/0.4

        POLY2_B{2}      23,      2, gs_fill_pen, gs_back_pen,
                           0,            0,            0,
                0.2549988190081, 0.203379609655,      1,
                0.1157440425216, 0.4108558042687,    900,
                           0, 53.64112532649,   4001,
                0.3653846153846,          0.4,      1,
                5.551115123126E-017,          0.4,      1,
                0.249640572863, 0.4108558042687,    900,
                           0, 53.6411253265,   4001,
                0.1103857963765, 0.203379609655,      1,
                1.31934269127, -0.001284918194747,    900,
                           0, 8.24071498634,   4001,
                0.09353370093364, 0.02798386860837,      1,
                0.09325012264342, 0.01141767323585,    900,
                           0, 90.98068700221,   4001,
                0.07668150031786, 0.01141767323585,      1,
                0.07668150031786, -2.237261607945E-017,      1,
                0.2887031150668, -2.237261607945E-017,      1,
                0.2887031150668, 0.01141767323585,      1,
                0.2721344927412, 0.01141767323585,    900,
                           0, 90.98068700222,   4001,
                0.271850914451, 0.02798386860837,      1,
                -0.9539580758858, -0.001284918194745,    900,
                           0, 8.24071498634,   4001,
                0.2549988190081, 0.203379609655,     -1

        del 1
    endif
!========= Disegna la vista "Frontale" ================

ENDIF








*************************************************
******* Parameter Script ********

if a<0.1 then parameters a=0.1
if b<0.1 then parameters b=0.1


values "bidtyp" `Type 1`,`Type 2`
values "elevtyp" `Top`,`Side`,`Front`


if GLOB_MODPAR_NAME="elevtyp" then

    if elevtyp=`Top` then
    parameters a=0.6,b=0.36
    endif

    if elevtyp=`Side` then
    parameters a=0.6,b=0.4
    endif

    if elevtyp=`Front` then
    parameters a=0.36,b=0.4
    endif

endif

if gs_cont_pen=0 then Parameters gs_cont_pen=8
if gs_fill_pen=0 then Parameters gs_fill_pen=91




Spero di esserti stato utile in qualche modo.
« Ultima modifica: 18 Aprile 2015, 15:52 da qoki55 »
ArchiCAD 11-20, DraftSight_64,
Windows 10 Pro_64

ZioBob

  • Che pacchia un forum senza spocchia!
  • ADMIN
    ...ho creato questo spazio e lo amo
  • *
  • Post: 5.102
Re:come si crea oggetto con vista in pianta e prospetti
« Risposta #2 il: 19 Aprile 2015, 17:04 »
Come dice qoki55 non è una cosa banale, ma comunque è fattibile anche da parte di chi non abbia familiarità con il GDL. Ti invito a provarci

Ci sono molti modi di affrontare la questione, ma per un principiante è meglio usare un sistema non molto sofisticato ma efficace.
Facciamo l'esempio di un sanitario che puoi rappresentare in pianta e in alzato. Poi, una volta capito il principio, puoi aggiungere altre viste (frontale, laterale, posteriore) o altri stili/modelli.
Io ti consiglio di partire da oggetti distinti. Disegna la pianta POSSIBILMENTE SULL'ORIGINE GLOBALE, seleziona gli elementi e "Salva come Oggetto".
Cancella o sposta gli elementi e, NELLA STESSA POSIZIONE disegna l'alzato. Seleziona e salva di nuovo come oggetto.

Ora apri il primo oggetto, e aggiungi un parametro, chiamiamolo "Scelta". Deve essere di tipo "Testo". Metti una descrizione nel campo "Nome", ad esempio "Simbolo da mostrare".

Passa allo script dei parametri e aggiungi questa istruzione:
   VALUES "Scelta", "Pianta", "Alzato"
in questo modo il parametro "Scelta" potrà assumere solo i valori definiti, in questo caso "Pianta" o "Alzato".
Torna alla schermata dei parametri e verifica che sia effettivamente così. Mi raccomando, nei nomi tra virgolette è essenziale che la corrispondenza sia esatta, comprese maiuscole e minuscole. (Se il parametro l'avevi chiamato "scelta" anziché "Scelta", anche nel comando VALUES dovrai usare l'iniziale minuscola).

Adesso passa al testo GDL 2D

Trascura le prime istruzioni, quelle che iniziano con un punto esclamativo.
In una delle prime righe vuote scrivi:
IF Scelta = "Pianta" THEN
Nota che ora Scelta va scritto senza virgolette. Poi scorri fino alla fine e, dopo l'ultima istruzione aggiungi una riga con scritto:
ENDIF

Tutte le istruzioni dello script 2D verranno eseguite solo se il valore del parametro Scelta è "Pianta", altrimenti non verrà disegnato niente.

Torna alla schermata dei parametri, Assicurati che sia attivo il secondo pulsante accanto all'anteprima (quello che mostra il simbolo derivante dallo script 2D) e prova a modificare il parametro Scelta per verificare che il disegno appare e scompare passando da "Pianta" a "Alzato".

Ora apri il secondo oggetto.

Vai al Testo GDL 2D e, come prima, aggiungi le due istruzioni all'inizio e alla fine. Solo che questa volta la prima istruzione sarà:
IF Scelta = "Alzato" THEN mentre l'ultima è sempre ENDIF

Seleziona tutto il testo dello script (puoi usare Ctrl+A o Cmd+A) e copialo.

Passa nuovamente al primo oggetto, e incolla il testo alla fine dello script 2D.

SALVA e divertiti...

Nel comando VALUES puoi aggiungere altre scelte, oltre alle prime due, a cui corrisponderanno altrettante "sezioni" dello script GDL 2D, ciascuna racchiusa tra le istruzioni IF [...] e ENDIF
-Roberto Corona-
archiradar  Staff