SiamFarm.com
ชื่อผู้ใช้งาน  
รหัสผ่าน


สยามฟาร์ม SiamFarm
ขอเชิญเพื่อนๆพี่ๆน้องๆ แชร์เรื่องราวที่อาจมีประโยชน์ต่อเพื่อนมนุษย์ด้วยนะครับ

  แสดงกระทู้
หน้า: [1] 2
1  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / มีเครื่องมือช่วยให้ คนที่ใช้ SACS ทำ in-Place analysis ได้สะดวกขึ้นครับ เมื่อ: สิงหาคม 20, 2011, 06:22:23 pm
พอดีช่วงนี้กำลังอ่านหนังสือเรื่อง excel advance ก็เลยมาลองของนิดหน่อย
การทำ in-place analysis report
หลายๆคนคงต้องเสียเวลากับการทำ ตาราง Load combination อย่างนี้ ( http://image.ohozaa.com/view/1a57p )กันไม่มากก็น้อย
ผมก็เป็นคนนึง ที่เสียเวลาทำตาราง Load combination เป็นวันๆ(ในกรณีที่ลูกค้าไม่ได้ให้ตารางมาเป็น excel แต่ดันให้มาเป็นกระดาษอันแสนที่จะมองไม่ค่อยเห็น) ผมว่าหลายๆคนก็เคยเจอปัญหานี้มาก่อน
ผมได้ทำ macro excel ให้แปลงจาก command line จาก SACS มาเป็นตาราง excel เอามาฝากครับ
มันเป็นแค่ต้นแบบน่ะครับ ผิดพลาดอะไรก็ขออภัยด้วย อีกอย่างผมไม่ได้ security ไว้ ใครจะเอาไปพัฒนาต่อก็ได้ครับ แล้วเอามาแบ่งปันกันได้ครับ
ถ้ามี feedback ดี เดี๋ยวผมจะเอา macro excel อื่นมาฝากอีกครับ ตอนนี้กำลังทำ การจัดเรียง member uc, joint uc, basic load และอื่นๆ
เช่น แสดงผลของการ ananlysis ออกมาเป็นตารางสวยๆทันทีแค่copy sacslst มาไว้ในexcel เป็นต้น

วิธีใช้ก็ copy LCOMB line ใน SACS input file มาไว้ใน cell "A1" sheet 1
แล้วก็ตามรูปนี้เลยครับ
http://image.ohozaa.com/view/1a57h

ปล. มือใหม่น่ะครับ
Code มีดังนี้ครับ

Sub Macro1()
'
' Macro1 Macro
'

'
    Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(5, 1), Array(10, 1), Array(15, 1), Array(21, 1), _
        Array(25, 1), Array(31, 1), Array(35, 1), Array(41, 1), Array(45, 1), Array(51, 1), Array( _
        55, 1), Array(61, 1), Array(65, 1)), TrailingMinusNumbers:=True
    Range("A1").Select
    Do While Not IsEmpty(ActiveCell.Value)
    If ActiveCell.Value <> "LCOMB" Then
        ActiveCell.EntireRow.Delete
    Else
        ActiveCell.Offset(1, 0).Select
    End If
    Loop
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B:B") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:SN5000")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B:B" _
        ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:D5160")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("B1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    ActiveCell.Offset(0, 3).Select
    Selection.Insert Shift:=xlToRight
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    ActiveCell.Offset(0, 3).Select
    Selection.Insert Shift:=xlToRight
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    ActiveCell.Offset(0, 3).Select
    Selection.Insert Shift:=xlToRight
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    ActiveCell.Offset(0, 3).Select
    Selection.Insert Shift:=xlToRight
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    ActiveCell.Offset(0, 3).Select
    Selection.Insert Shift:=xlToRight
a = 0
For i = 1 To 5
    a = 3 + a
    Range("B1").Select
    ActiveCell.Offset(0, a).Select
    If Not IsEmpty(ActiveCell.Value) Then
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, ActiveCell.Offset(0, 2)).Select
    Selection.Cut
    Range("B1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    Selection.Insert Shift:=xlDown
    Else
    Exit For
    End If
Next i
Range("A1").Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("C:C" _
        ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:D5160")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("C1").Select
    Selection.End(xlDown).Select
    If Not IsEmpty(ActiveCell.Offset(1, -1)) Then
    Range(ActiveCell.Offset(1, -1), Selection.End(xlDown)).EntireRow.Delete
    End If
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B:B" _
        ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:D5160")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Rows("1:1").Select
    Selection.Insert Shift:=xlDown
    Range("B1").Value = "Load comb"
    Range("C1").Value = "Basic Load"
    Range("D1").Value = "Factor"
    ActiveCell.Columns("A:C").EntireColumn.Select
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Sheet1!R1C2:R1048576C4", Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:="Sheet2!R2C2", TableName:="PivotTable4", DefaultVersion _
        :=xlPivotTableVersion14
    Sheets("Sheet2").Select
    Cells(2, 2).Select
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("Load comb")
        .Orientation = xlColumnField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("Basic Load")
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet.PivotTables("PivotTable4").AddDataField ActiveSheet.PivotTables( _
        "PivotTable4").PivotFields("Factor"), "Count of Factor", xlCount
    With ActiveSheet.PivotTables("PivotTable4").PivotFields("Count of Factor")
        .Caption = "Max of Factor"
        .Function = xlMax
        .NumberFormat = "0.00"
    End With
End Sub


2  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / Re: บทสรุปของ Fatigue Analysis ครับ เมื่อ: มิถุนายน 03, 2011, 12:03:03 pm
ถ้าผมทำ spectral fatigue analysis แล้วปรากฏว่า fatigue life มันน้อยกว่าที่ design life คูณ FOS แล้วต้องทำยังไงครับ ได้ยินว่า " ก็ทำ weld profile สิ หรือไม่ก็ Toe grinding "  ลังเล มันคืออะไรครับ แล้วหน้างานเค้าทำอะไรกัน ถึงเรียกว่า weld profile สิ หรือไม่ก็ Toe grinding
3  ห้องแบ่งปันความสุขในการถ่ายภาพ / ห้องรวมมิตร / Re: อยากทราบจอ TV แบบ LCD, LED หรือ Plasma แบบไหนดีและคุ้มค่ากว่ากันครับ เมื่อ: พฤษภาคม 30, 2011, 11:59:55 pm
ลองดูพวก สมาร์ททีวีดีไหมครับ ที่มัน ต่อเน็ตได้ 3d และก็ดูyoutube ได้เลยครับ
หรือถ้าไม่สน ถ้าจะได้ราคาถูกต้องรอให้มีงานcommartก่อนครับ รอให้มันเปิดตัวพวกสมาร์ททีวีก่อนครับ
แล้วเครื่องที่พี่ปรารถนาไว้น่าจะถูกลงครับ
4  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / Re: เรื่อง Error ใน Floatation and Upending ครับ เมื่อ: พฤษภาคม 17, 2011, 12:24:22 am
 ยิ้มกว้างๆ
5  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / Re: ทำไมทำ Spectral Fatigue Analysis ต้องใช้ Airy's Theory ไม่ใช้ Stoke's Theory ? เมื่อ: เมษายน 29, 2011, 09:43:18 pm
ช่วยแนะนำหนังสือ ที่เกี่ยวกับ เรื่อง fatique หรือ wave พื้นฐานหน่อยครับ ทำ fatique มาสองครั้งแล้ว ทำได้แต่รู้สึกว่าไม่ค่อยแน่น ทฤษฏี เลยครับ
เรียนตรีไม่ได้เรียนเรื่องพวกนี้เลย ขอชื่อคนแต่งด้วยน่ะครับ ขอบคุณล่วงหน้า
ปล.อ่าน Barltrop แล้ว  งงงงงงงงงงงงงงงงงงงมากกกกกกกกก
ร้องไห้
6  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / เรื่อง Error ใน Floatation and Upending ครับ เมื่อ: เมษายน 29, 2011, 09:36:05 pm
*** WARNING - TOTAL INCREMENT   1 FAILED TO CONVERGED
*** HORIZONTAL DISTANCE FROM CB TO CG =    0.0029 (FT)     
           METACENTER HEIGHT ABOVE CG =   -7.3603 (FT)     
*** WARNING - TOTAL INCREMENT   1 FAILED TO CONVERGED
*** HORIZONTAL DISTANCE FROM CB TO CG =    0.0029 (FT)     
           METACENTER HEIGHT ABOVE CG =   -7.3603 (FT)     
*** - ERROR - EXCEEDED MAX ITERATIONS FOR TOTAL INCREMENT NUMBER   1

ผมเจอerror เหมือนข้างบนในการรัน Floatation ในCase 1 leg damage แล้วคราวนี้ผมเลยส่งเมล์ไปถามedi ก็ได้คำตอบมาดังข้างล่างนี้ครับ
อยากถามผู้รู้ว่า เค้าหมายถึง SACS 5.3 SP2 นี้ไม่สามารถ ใช้ การ์ด weight ได้แล้วใช่ไหมครับ รวมไปถึง การ์ด JCKO ด้วย เพราะมันอาจจะทำให้น้ำหนักที่ได้ออกมาไม่ถูกต้อง ผมเห็นงานเก่าๆใช้กันเกือบทุกโปรเจคเลย
 ตกใจ

Dear ผู้ถาม(คือผมเองครับ)
In your flotation input file you used WEIGHT cards to define the additional weights and buoyancies. The current version of flotation program (SACS 5.3 SP2) can’t handle these cards correctly, and that is why you got the error messages. I would like to suggest you use other way to input those weights and buoyancies into the structural model file.

You defined the structural material density of 514.5 lbs/ft^3 in JCKO line in the flotation input file. The flotation program doesn’t use this density to calculate the structural weight. Again you have to modify the structural input file.

I am sorry for all of these happened to you. We are going to fix the program and hopefully the next release of the program will work fine.

Regards,

คนที่ edi ตอบ

From: อีเมล์คนถาม
Sent: Thursday, April 28, 2011 2:28 AM
To: CangBo Zheng
Subject: SACS Query

What does this error means? And how to solve this error

*** WARNING - TOTAL INCREMENT   1 FAILED TO CONVERGED
*** HORIZONTAL DISTANCE FROM CB TO CG =    0.0029 (FT)     
           METACENTER HEIGHT ABOVE CG =   -7.3603 (FT)     
*** WARNING - TOTAL INCREMENT   1 FAILED TO CONVERGED
*** HORIZONTAL DISTANCE FROM CB TO CG =    0.0029 (FT)     
           METACENTER HEIGHT ABOVE CG =   -7.3603 (FT)     
*** - ERROR - EXCEEDED MAX ITERATIONS FOR TOTAL INCREMENT NUMBER   1

Best Regards,
ผู้ถาม(คือผมเองครับ)
เด็กน้อย Structural Engineer

7  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / GRLWEAP เมื่อ: เมษายน 12, 2011, 08:18:21 am


GRLWEAP is a one-dimensional Wave Equation Analysis program that simulates the pile response to pile driving equipment.

GRLWEAP predicts driving stresses, hammer performance and the relation between pile bearing capacity and net set per blow. It also estimates the total driving time. This allows the user to investigate which hammer is likely to be sufficient and economic for a certain pile and soil condition prior to mobilizing the hammer to the job.

8  ฟาร์มทั่วไป / แนะนำการเข้าเยี่ยมชมฟาร์มแห่งนี้ / การล็อค row and column ใน excel โดยไม่ต้องพิมพ์ เครื่องหมาย $ เมื่อ: มีนาคม 01, 2011, 03:34:05 pm
เอามาฝากครับ เห็นใช้บ่อย
ก่อนอื่นก็ กด = แล้วก็เลือก cell ที่เราต้องการลิงค์ แล้วก็กด F4 เครื่องหมาย $ ก็จะขึ้นมาเอง

กดไปเลื่อยก็จะเปลี่ยนเป็นล็อคเฉพาะ  Row หรือ Column

Good Luck  ยิ้มเท่ห์
9  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / Re: เมื่อมีข้อดี ก็ย่อมต้องมีข้อเสียเป็นธรรมดา สำหรับ SACS 5.3 เมื่อ: กุมภาพันธ์ 10, 2011, 08:38:07 am
การปริ้นรายงาน ยากมากๆ ยังหาวิธีใส่กรอบไม่ได้เหมือน 5.2
10  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / Re: ทำไม offshore fatigue analysis มีแต่ wave load ??? เมื่อ: กุมภาพันธ์ 10, 2011, 08:30:03 am
ไม่ค่อยมีความรู้เท่าไร อยากรู้เหมือนกันครับ
ขอตั้งสมุติฐานครับ
1. wave ที่นำเอามาคิด fatigue นั้น เพราะ wave คือคลื่นความถี่ (Frequency) ที่มี ความสูงของลูกคลื่น(H)และคราบ(T)เป็นตัวแปรสำคัญ และเป็นโหลดที่กระทำต่อโครงสร้างแบบสลับกันไปมา
2. current and wind ไม่รู้เรื่องครับ อิอิ
3. gravity น่าจะเป็นโหลดที่กระทำค้าง ซึ่งไม่น่าจะทำให้เกิดการล้า(fatigue) ได้
11  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / Re: บทสรุปของ Fatigue Analysis ครับ เมื่อ: มกราคม 27, 2011, 09:43:58 pm
ขอบคุณคุณ bung มากๆครับ ได้ความรู้เยอะมากๆ
12  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / Re: บทสรุปของ Fatigue Analysis ครับ เมื่อ: มกราคม 26, 2011, 08:53:21 am
แล้วเดี๋ยวนี้ยังมีคนทำ Deterministic Fatigue Analysis กันอยู่หรือป่าวครับ
เท่าที่อ่านดูเหมือน Spectral จะได้ประสิทธิ์ผลมากกว่า
13  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / Re: เมื่อมีข้อดี ก็ย่อมต้องมีข้อเสียเป็นธรรมดา สำหรับ SACS 5.3 เมื่อ: มกราคม 26, 2011, 08:45:10 am
เด็กน้อยขอเสริมครับ

ถ้าเราเอาไฟล์จาก 5.2 ที่เราsave view เอาไว้ เช่น save view main deck plane ไว้ ซึ่ง SACS จะเก็บข้อมูลในรูปของtext file เอาไว้ข้างล่างสุดของ Input file (หลัง END)พอเราเอามาเปิดใน 5.3 จะไม่รู้จัก command เหล่านี้ครับ แล้ว SACS ก็จะลบมันออกไป ทำให้หลังจากที่เราเอามาเปิดใน 5.3 แล้ว save view มันจะหายไปเลย ต้องมา save view ใหม่ใน 5.3 ครับ bug อันนี้จะสร้างปัญหามาในการทำงาน ถ้าเป็นงานที่เป็นแท่นใหญ่ๆ
14  ฟาร์มนอกชายฝั่ง / คุยกัน | แนะนำ | แลกเปลี่ยนความรู้งานวิศวกรรมโครงสร้างนอกฝั่ง / Re: บทสรุปของ Fatigue Analysis ครับ เมื่อ: มกราคม 18, 2011, 11:52:14 pm
ผมได้ยินมาแวปๆ ว่า จริงๆแล้ว fatigue Analysis มีหลายอย่างใช่ไหมครับ
ที่ผมรู้ก็ มี spectral fatigue analysis อย่างเดียว
ทีอะไรอีกบ้างครับ อยากรู้
15  ฟาร์มทั่วไป / แนะนำการเข้าเยี่ยมชมฟาร์มแห่งนี้ / Re: วิธีการโหลดบิท (Bittorrent) ของฟรีมีในโลกนี้!!!!! เมื่อ: มกราคม 17, 2011, 12:06:04 pm
ตามลิ้งค์ข้างนี่เป็นวิธีโหลดครับ
http://www.tosdn.com/forum/index.php/topic,4144.msg27915.html
Enjoy free!!!
หน้า: [1] 2

เว็บไซด์ สยามฟาร์ม Powered by Civilthai.com