FastFiber

routine aanpassen

Gestart door marcelmaas, di 15 06 2010, 11:45:48

Vorige topic - Volgende topic

roy_043

Met OOo was het originele bestand al volledig te bekijken. De zeven verborgen bladen bevatten complexe berekeningen. Als je niet de auteur bent kost het veel speurwerk om alles te analyseren. Mijn conclusie: De berekening is (zeer waarschijnlijk) in lisp te zetten maar dat zal veel tijd kosten. En die zin valt dit, wat mij betreft, buiten het kader van dit forum.

marcelmaas

#16
Nou we zijn er zelf ook achter dat we dat gewoon met die excel sheet moeten blijven doen, daar het inderdaad veel te veel werk zou gaan worden om dat in een lisp te gieten.

Wel zouden we eigenlijk aan de  sumtable.lsp nog wat willen toevoegen.
Nu worden daarmee namelijk de KPA en de FLOW van de GKW (gekoeld water) opgeteld.
En eigenlijk hebben we zoals nu in de aanpaste bijgevoegde tekening te zien is ook voor CV (warmte), KPA en FLOW die opgeteld moeten worden.

Misschien dat dat nog toe te voegen is aan de bijgevoegde sumtable_v2c.lsp dat zou ons al heel blij maken.

groeten Marcel..

roy_043

Welke attributen opgeteld worden kun je zelf aanpassen door regel 46 te wijzigen:
Oud:

      (setq match_list (list "GKW" "FLOW" "KPA"))

Nieuw:

      (setq match_list (list "GKW" "FLOW" "KPA" "CV"))


Het tabel-block moet dan wel overeenkomstige attribuut-definities bevatten.

marcelmaas

Hi Roy,

Iets toevoegen aan een lisp zou ik nog wel kunnen, maar het is net wat ingewikkelder dan dat.

Het is namelijk nu zo dat de attributen uit het block in het block GKW_Totaal gestopt worden die je vervolgens kunt invoegen.

Nu zitten er in het block ook attributen die beginnen met CV_  , die zouden gestopt moeten worden in het block CV_Totaal die je dan vervolgens ook moet kunnen invoegen meteen nadat je GKW_Totaal hebt ingevoegd.

Dat werkte namelijk met sumtable.lsp ook zo.

Is er iemand die dat nog aan deze sumtable_v2c.lsp zou toe kunnen voegen?


roy_043

Citaat van: marcelmaas op ma 21 06 2010, 08:32:05Dat werkte namelijk met sumtable.lsp ook zo.
Het moet dan gaan over een ander lisp-bestand dan jij hebt gepost bij jouw eerste bericht. In sumtable_v2.LSP is uitsluitend sprake van het block "GKW_Totaal". Er zit in dat programma ook geen "lus" die suggereert dat het inserten van meerdere blocks na elkaar mogelijk is (geweest). Maar waarom meerdere blocks, je kunt toch ook alle gegevens in één block weergeven?

marcelmaas

We hebben wel altijd gegevens voor GKW, maar niet altijd voor CV.
Dus dan zouden we een groter block moeten invoegen waarin voor CV niks staat ingevuld, dat is dan niet nodig toch?

Nu doen we het met bijgevoegde lisp waarmee wel een CV block wordt ingevoegd.

Misschien kunnen we deze 2 combineren?


roy_043

#21
Bijgevoegd: SumTable_v2f.LSP

Wijzigingen:

  • Ook diep geneste attributen worden nu uitgelezen. Voorheen (sumtable_v2c.LSP) werd maximaal één niveau diep gekeken. Doordat diep gezocht wordt kan de functie bij veel inserts van complexe blocks traag worden.
  • Tags worden niet meer vastgelegd in de lisp. De functie leest alle attributen uit en de tags van de attributen in het tabel-block bepalen welke attributen worden opgeteld en weergegeven.
  • Tags zijn nu hoofdletterongevoelig.
  • Ook blocknamen worden niet langer vastgelegd in de lisp. Er wordt nu gevraag om een selectie te maken. Het is mogelijk om één of meerdere tabel-blocks in de tekening te selecteren.

marcelmaas

Hi Roy,

Zo werkt het opzich goed, alleen moet er een GKW_Totaal block en een CV_Totaal block in de tekening staan die je aanwijst om daarin de waardes weg te schrijven.

Zou het mogelijk zijn om de waardes in de bijgevoegde blocken te zetten en dat je die dan ergens in de tekening kunt inserten op een plaats waar je zelf kunt aangeven?
Zo werkt het op onze huidige manier namelijk ook, en dat is voor ons een stuk makkelijker.

De aanpassingen tot zover zijn al wel heel goed.  :vreegoe:


roy_043

Bijgevoegd: SumTable_v2g.LSP

marcelmaas

Ja dit is gaaaaaaf....

Zo werkt het super, de gkw en cv_totaal blocken moeten alleen wel in de tekening aanwezig zijn.
zouden we dit niet kunnen ondervangen door de lisp te laten zoeken in een bepaalde map naar die blocken?
Zo werkt het nu bij ons namelijk ook.

Ik ben misschien een beetje vervelend, maar dan zou het helemaal super zijn.

groeten Marcel..

roy_043

Citaat van: marcelmaas op di 22 06 2010, 16:59:27zoeken in een bepaalde map naar die blocken?
Het gemakkelijkste is om de betreffende map op te nemen in het zoekpad.

marcelmaas

Hi Roy,

Ik krijg deze foutmelding als ik de blocken wil plaatsen.

Specify insertion point for table insert "GKW_totaal" or [Enter] to select
existing: ; error: AutoCAD.Application: Filer error

Ik heb de blocken in de map M:\ gezet en dat pad ook toegevoegd, maar krijg die foutmelding.
Als ik de blocken GKW_totaal en CV_totaal even in de tekening insert en daarna sumtable gebruik, werkt het wel.
Dus het zit ergens niet helemaal goed.

Doe ik iets fout..?


roy_043

Met SumTable_v2h.LSP moet het goed gaan.

marcelmaas

Hi Roy,

Nu werkt het inderdaad wel met het invoegen van de blocken, superrrr.

In een eerdere post zei jij.

Citeermax wil zeggen: gebruik het maximum van een lijst met getallen.

De kpa's worden nu weer opgeteld, waarom heb je dat gewijzigd, in een eerdere versie van Sumtable pakte hij toch de hoogste kpa en telde ze dus niet op.

Is dat hier nog terug in te bouwen?


roy_043

Citaat van: marcelmaas op di 22 06 2010, 22:31:46Is dat hier nog terug in te bouwen?
Niet zonder meer. Uitleg: versie 2h is gebaseerd op een versie 2e die ik puur voor mijzelf heb gemaakt. Ik wilde een versie waarin blocknamen en tags NIET waren vastgelegd. Om de optie MAX terug in te voeren moeten de tags WEL worden vastgelegd.
En zoals je zelf zei: voor KPA is een complexe berekening nodig. Zowel de som van alle waardes als de maximale waarde zijn fout.

FastFiber