Đến nội dung


Hình ảnh
- - - - -

Ý tưởng xây dựng chương trình


  • Please log in to reply
76 replies to this topic

#1 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 05 March 2011 - 10:32 PM

Mình lập topic này để các bạn có ý tưởng hay nhưng không có thời gian thực hiện (hoặc không có khả năng thực hiện) thì port lên đây. Trong thời gian vừa qua mình cũng xây dựng được một số chương trình phục vụ cho công việc. Đến nay thì ý ttưởng đã cạn nên tham khảo ý kiến của các bạn.
  • 2
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#2 linhoreka

linhoreka

    biết lệnh erase

  • Members
  • PipPipPip
  • 106 Bài viết
Điểm đánh giá: 46 (tàm tạm)

Đã gửi 22 March 2011 - 10:38 AM

Bạn làm cái này được không: Một máy tính nhỏ gọn trong AutoCAD !
Ngoài cộng số, còn cộng được chiều dài, diện tích của đối tượng chọn
1. Một textbox để gõ công thức số
2. Thao tác chọn:
+ một list để filter layer khi chọn
+ một list filter đối tượng line, arc, pline khi chọn
+ 2 options: lấy tổng chiều dài hoặc tổng diện tích ?
+ 1 textbox: scalefactor, nếu muốn trừ đi thì để giá trị âm (-)

Sau khi chọn sẽ đưa giá trị tính được vào công thức
Nhấn cal >>> ra giá trị >>> chọn text, hoặc attribute trên màn hình để update giá trị tính được vào, hoặc tạo text mới !!!
  • 0

#3 linhoreka

linhoreka

    biết lệnh erase

  • Members
  • PipPipPip
  • 106 Bài viết
Điểm đánh giá: 46 (tàm tạm)

Đã gửi 22 March 2011 - 10:49 AM

Hàm EvaluateExpression để tính biểu thức là string, copy trên internet, có chế biến lại tí :)
Hàm viết bằng VB, VB.NET chắc chỉnh lại chút chắc là OK !
Các hàm số được phép viết trong chuỗi string: sin, cos, min(a,b,c ...), max(x,y,z ...), PI, round, tan, atn, log, abs.
Cảm ơn bạn !

Function EvaluateExpression(ByVal Expression As _
String) As Double

Const PREC_NONE = 11
Const PREC_UNARY = 10 ' Not actually used.
Const PREC_POWER = 9
Const PREC_TIMES = 8
Const PREC_DIV = 7
Const PREC_INT_DIV = 6
Const PREC_MOD = 5
Const PREC_PLUS = 4

Dim expr As String
Dim is_unary As Boolean
Dim next_unary As Boolean
Dim parens As Integer
Dim pos As Integer
Dim expr_len As Integer
Dim ch As String
Dim lexpr As String
Dim rexpr As String
'Dim Value As String
Dim status As Long
Dim best_pos As Integer
Dim best_prec As Integer

' Remove all spaces.
expr = Replace$(Expression, " ", "")
expr_len = Len(expr)
If expr_len = 0 Then
EvaluateExpression = 0
Exit Function
End If

' If we find + or - now, it is a unary operator.
is_unary = True

' So far we have nothing.
best_prec = PREC_NONE

' Find the operator with the lowest precedence.
' Look for places where there are no open
' parentheses.
For pos = 1 To expr_len
' Examine the next character.
ch = Mid$(expr, pos, 1)

' Assume we will not find an operator. In
' that case, the next operator will not
' be unary.
next_unary = False

If ch = " " Then
' Just skip spaces. We keep them here
' to make the error messages easier to
ElseIf ch = "(" Then
' Increase the open parentheses count.
parens = parens + 1

' A + or - after "(" is unary.
next_unary = True
ElseIf ch = ")" Then
' Decrease the open parentheses count.
parens = parens - 1

' An operator after ")" is not unary.
next_unary = False

' If parens < 0, too many ')'s.
If parens < 0 Then
Err.Raise vbObjectError + 1001, _
"EvaluateExpression", _
"Too many )s in '" & _
Expression & "'"
End If
ElseIf parens = 0 Then
' See if this is an operator.
If ch = "^" Or ch = "*" Or _
ch = "/" Or ch = "\" Or _
ch = "%" Or ch = "+" Or _
ch = "-" _
Then
' An operator after an operator
' is unary.
next_unary = True

' See if this operator has higher
' precedence than the current one.
Select Case ch
Case "^"
If best_prec >= PREC_POWER Then
best_prec = PREC_POWER
best_pos = pos
End If

Case "*", "/"
If best_prec >= PREC_TIMES Then
best_prec = PREC_TIMES
best_pos = pos
End If

Case "\"
If best_prec >= PREC_INT_DIV Then
best_prec = PREC_INT_DIV
best_pos = pos
End If

Case "%"
If best_prec >= PREC_MOD Then
best_prec = PREC_MOD
best_pos = pos
End If

Case "+", "-"
' Ignore unary operators
' for now.
If (Not is_unary) And _
best_prec >= PREC_PLUS _
Then
best_prec = PREC_PLUS
best_pos = pos
End If
End Select
End If
End If
is_unary = next_unary
Next pos

' If the parentheses count is not zero,
' there's a ')' missing.
If parens <> 0 Then
Err.Raise vbObjectError + 1002, _
"EvaluateExpression", "Missing ) in '" & _
Expression & "'"
End If

' Hopefully we have the operator.
If best_prec < PREC_NONE Then
lexpr = Left$(expr, best_pos - 1)
rexpr = Mid$(expr, best_pos + 1)
Select Case Mid$(expr, best_pos, 1)
Case "^"
EvaluateExpression = _
EvaluateExpression(lexpr) ^ _
EvaluateExpression(rexpr)
Case "*"
EvaluateExpression = _
EvaluateExpression(lexpr) * _
EvaluateExpression(rexpr)
Case "/"
EvaluateExpression = _
EvaluateExpression(lexpr) / _
EvaluateExpression(rexpr)
Case "\"
EvaluateExpression = _
EvaluateExpression(lexpr) \ _
EvaluateExpression(rexpr)
Case "%"
EvaluateExpression = _
EvaluateExpression(lexpr) Mod _
EvaluateExpression(rexpr)
Case "+"
EvaluateExpression = _
EvaluateExpression(lexpr) + _
EvaluateExpression(rexpr)
Case "-"
EvaluateExpression = _
EvaluateExpression(lexpr) - _
EvaluateExpression(rexpr)
End Select
Exit Function
End If

' If we do not yet have an operator, there
' are several possibilities:
'
' 1. expr is (expr2) for some expr2.
' 2. expr is -expr2 or +expr2 for some expr2.
' 3. expr is Fun(expr2) for a function Fun.
' 4. expr is a primitive.
' 5. It's a literal like "3.14159".

' Look for (expr2).
If Left$(expr, 1) = "(" And Right$(expr, 1) = ")" Then
' Remove the parentheses.
EvaluateExpression = EvaluateExpression( _
Mid$(expr, 2, expr_len - 2))
Exit Function
End If

' Look for -expr2.
If Left$(expr, 1) = "-" Then
EvaluateExpression = -EvaluateExpression( _
Mid$(expr, 2))
Exit Function
End If

' Look for +expr2.
If Left$(expr, 1) = "+" Then
EvaluateExpression = EvaluateExpression( _
Mid$(expr, 2))
Exit Function
End If

Dim arrExpr$(), i%
Dim expr1st$, expr2nd$, x#
' Look for Fun(expr2).
If expr_len > 5 And Right$(expr, 1) = ")" Then
' Find the first (.
pos = InStr(expr, "(")

If pos > 0 Then
' See what the function is.
lexpr = LCase$(Left$(expr, pos - 1))
rexpr = Mid$(expr, pos + 1, expr_len - pos - 1)
Select Case lexpr
Case "abs"
EvaluateExpression = _
Abs(EvaluateExpression(rexpr))
Exit Function
Case "round" '2 arguments expression
arrExpr()= Split(rexpr, ",")
expr1st = arrExpr(0)
On Error Resume Next
expr2nd = arrExpr(1)
If Err Then
EvaluateExpression = _
Round(EvaluateExpression(rexpr), 3)
Else
EvaluateExpression = _
Round(EvaluateExpression(expr1st), EvaluateExpression(expr2nd))
End If
On Error GoTo 0

Exit Function
Case "sin"
EvaluateExpression = _
Sin(EvaluateExpression(rexpr))
Exit Function
Case "cos"
EvaluateExpression = _
Cos(EvaluateExpression(rexpr))
Exit Function
Case "tan"
EvaluateExpression = _
Tan(EvaluateExpression(rexpr))
Exit Function
Case "sqr"
EvaluateExpression = _
Sqr(EvaluateExpression(rexpr))
Exit Function
Case "log"
EvaluateExpression = _
Log(EvaluateExpression(rexpr))
Exit Function
Case "atn"
EvaluateExpression = _
Atn(EvaluateExpression(rexpr))
Exit Function
Case "max" 'multiple arguments expression
arrExpr() = Split(rexpr, ",")
expr1st = arrExpr(0)
EvaluateExpression = EvaluateExpression(expr1st)
On Error Resume Next
i = 1
Do
expr1st = arrExpr(i)
If Err Then Exit Do
x = EvaluateExpression(expr1st)
If x > EvaluateExpression Then EvaluateExpression = x
i = i + 1
Loop
On Error GoTo 0
Exit Function
Case "min" 'multiple arguments expression
arrExpr() = Split(rexpr, ",")
expr1st = arrExpr(0)
EvaluateExpression = EvaluateExpression(expr1st)
On Error Resume Next
i = 1
Do
expr1st = arrExpr(i)
If Err Then Exit Do
x = EvaluateExpression(expr1st)
If x < EvaluateExpression Then EvaluateExpression = x
i = i + 1
Loop
On Error GoTo 0
Exit Function
'Case "Your function" ...
' Add other functions (including
' program-defined functions) here.
End Select
End If
End If

If UCase(expr) = "PI" Then
EvaluateExpression = 3.14159: Exit Function
ElseIf IsNumeric(expr) Then
EvaluateExpression = CDbl(expr)
Else
Err.Raise 9, _
"EvaluateExpression", _
"Error evaluating '" & Expression & _
"' as a constant."
End If
End Function

  • 2

#4 linhoreka

linhoreka

    biết lệnh erase

  • Members
  • PipPipPip
  • 106 Bài viết
Điểm đánh giá: 46 (tàm tạm)

Đã gửi 22 March 2011 - 10:51 AM

Ủa, làm thế nào để cái code kia nó chui vào 1 textbox cho gọn nhỉ ?
  • 0

#5 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 22 March 2011 - 11:40 AM

Bạn làm cái này được không: Một máy tính nhỏ gọn trong AutoCAD !
Ngoài cộng số, còn cộng được chiều dài, diện tích của đối tượng chọn
1. Một textbox để gõ công thức số
2. Thao tác chọn:
+ một list để filter layer khi chọn
+ một list filter đối tượng line, arc, pline khi chọn
+ 2 options: lấy tổng chiều dài hoặc tổng diện tích ?
+ 1 textbox: scalefactor, nếu muốn trừ đi thì để giá trị âm (-)

Sau khi chọn sẽ đưa giá trị tính được vào công thức
Nhấn cal >>> ra giá trị >>> chọn text, hoặc attribute trên màn hình để update giá trị tính được vào, hoặc tạo text mới !!!

Cám ơn bạn đã đóng góp ý tưởng. Mình hoàn thiện nốt cái thép sàn sẽ nghiên cứu ý tưởn của ban. Thanh!
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#6 linhoreka

linhoreka

    biết lệnh erase

  • Members
  • PipPipPip
  • 106 Bài viết
Điểm đánh giá: 46 (tàm tạm)

Đã gửi 22 March 2011 - 12:21 PM

À, option lấy diện tích, chiều dài, thêm cả đếm luôn số lượng nữa đi. Rồi kết quả đưa vào clipboard để paste vào text công thức. Bạn đã có cái đếm text hay block gì đó, nâng lên thành gì đó như là "AutoCAD Calculator" đi !
PS: Cái thép sàn để sau đi chạy đua vũ trang đến bao giờ :D
  • 0

#7 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 22 March 2011 - 02:32 PM

......
PS: Cái thép sàn để sau đi chạy đua vũ trang đến bao giờ :D

Thì chạy đến giới hạn hoàn thiện của nó à. :rolleyes:
Để lâu thì 1 là ý tưởng quên mất. 2 là phải dò lại code ... lòi cả con mắt :wacko:

Mấy hôm nay toàn viết bài về chuyên đề Thống kê thép sàn không à? Chắc bị "nhập tâm" mất rùi. hùi hùi :lol:
  • 0

#8 linhoreka

linhoreka

    biết lệnh erase

  • Members
  • PipPipPip
  • 106 Bài viết
Điểm đánh giá: 46 (tàm tạm)

Đã gửi 22 March 2011 - 03:03 PM

Ban đầu, tức là năm ngoái, tớ chỉ thấy trên mạng mấy phần mềm của CIC, DTIP, của anh Nguyễn Lâm bên Ketcau.com, của bạn Hiếu HCAD, cả của CADViet nữa :D, thống kê thép, nên nâng cấp cây nhà lên mạnh hơn, đưa ra, đạt mục đích rồi.
Còn việc kết hợp cả vẽ cấu kiện + cốt thép + thống kê vào 1 chương trình thì là 1 bài toán khác rồi ! Anh em cứ chiến đấu đi coi chừng cuối năm tớ ra cái ngon hơn :D
  • 0

#9 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 22 March 2011 - 03:18 PM

Ban đầu, tức là năm ngoái, tớ chỉ thấy trên mạng mấy phần mềm của CIC, DTIP, của anh Nguyễn Lâm bên Ketcau.com, của bạn Hiếu HCAD, cả của CADViet nữa :D, thống kê thép, nên nâng cấp cây nhà lên mạnh hơn, đưa ra, đạt mục đích rồi.
Còn việc kết hợp cả vẽ cấu kiện + cốt thép + thống kê vào 1 chương trình thì là 1 bài toán khác rồi ! Anh em cứ chiến đấu đi coi chừng cuối năm tớ ra cái ngon hơn :D

Ý tưởng của chương trình thống kê thép của CIC, của Nguyễn Lâm hay của chính bạn đều bất cập cả. Vì không thể thống kê cho 1 thanh thép có hình dạng bất kì được? Phải mất công dò, dò trong cái thư viện ra mới được? Nếu trong thư viện không có thì sao bạn? Phải đi tạo, viết ra cái mới à? Nếu như bạn thì có thể viết được, còn User thì không thể. Như vậy theo mình thì chưa có thể gọi là đạt được mục đích được.
  • 1

#10 linhoreka

linhoreka

    biết lệnh erase

  • Members
  • PipPipPip
  • 106 Bài viết
Điểm đánh giá: 46 (tàm tạm)

Đã gửi 22 March 2011 - 04:02 PM

Bạn không để ý thôi, User có thể tự tạo block mới bất kỳ và nhanh hơn tạo block với AutoCAD bình thường rất nhiều ! Và block mới cũng tự động update số liệu từ công thức tính !
Quảng cáo tý :D

  • 1

#11 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 22 March 2011 - 04:32 PM

Sorry! Vì chưa để ý đến tính năng này của bạn. Nhưng vấn đề bất cập về sự không hiệu quả vẫn còn đó.
1./ Là Hơi mất công phải dòm trong thư viện rồi lấy Block ra. Cách hay nhất là tạo 1 Block có hình dáng bất kì 1 cách nhanh nhất. Cách của bạn thì chưa thực nhanh rồi. Lại phải nhập công thức nữa. Thư viện chỉ là để mấy cái hay sử dụng thôi. Để hết trong thư viện thì cái thư viện đồ sộ thật
2./ Tốn bộ nhớ để lưu lại file. Lỡ một mai....
3./ Đến khi folder đầy ắp rồi thì chẳng biết cái nào tạo rồi, cái nào chưa tạo. Gặp cái tạo rồi mà cứ tưởng là chưa tạo . Phải đi tạo lại thì có phải mất thời gian hay không? Mất công phải dòm nữa? <_<
4./ Việc tạo lại Block thông qua nhiều bước hơi rắc rối.
Bên CIC. họ tạo tới 160 loại thép cơ đấy
http://www.cic.com.v...1&highlight=tKT
Nhiều thật <_<
Mấy lời góp ý
  • 0

#12 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 22 March 2011 - 04:56 PM

Quang đi quẩn lại toàn thấy ý tưởng về kết cau không à! Có ai có ý tưởng về kiến trúc không cho xin ít :D
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#13 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 22 March 2011 - 05:42 PM

Quang đi quẩn lại toàn thấy ý tưởng về kết cau không à! Có ai có ý tưởng về kiến trúc không cho xin ít :D

Hội KTS Việt Nam vừa công bố một loạt hoạt động trong năm 2011, trong đó tiêu biểu là chương trình “Kiến trúc xanh” - thể hiện định hướng mới của kiến trúc Việt Nam trong thời gian tới.

Chủ tịch Hội KTS Việt Nam - KTS Nguyễn Tấn Vạn cho biết, theo Quyết định số 2008-QĐ/TTg của Thủ tướng Chính phủ về việc lấy ngày 27/4 hàng năm làm Ngày Kiến trúc Việt Nam, năm nay Hội sẽ tổ chức một loạt hoạt động để thu hút sự quan tâm của xã hội đối với kiến trúc và phát huy mạnh mẽ hơn vai trò, trách nhiệm của giới KTS đối với cộng đồng, như thi sáng tác kiến trúc gắn với các địa danh, địa chỉ cụ thể, mang tính xã hội cao; triển lãm các tác phẩm kiến trúc đoạt giải của Hội; hội thảo khoa học nhằm giải quyết những vấn đề bức xúc từ chính đời sống…

Theo KTS Nguyễn Tấn Vạn, cùng với xu thế chung của thế giới về nền kiến trúc gắn với công nghệ hiện đại, tiết kiệm năng lượng và thân thiện với môi trường (còn gọi là kiến trúc xanh), vấn đề kiến trúc xanh ở Việt Nam ngày càng được nhìn nhận quan trọng hơn và đây là định hướng của kiến trúc Việt Nam trong thời gian tới Ngày Kiến trúc Việt Nam năm nay (được tổ chức lần đầu tiên) sẽ gắn với một sự kiện ý nghĩa, đó là Hội sẽ xúc tiến thành lập Hội đồng Kiến trúc xanh. Hội đồng sẽ xây dựng những tiêu chí về kiến trúc xanh, làm căn cứ cho các giải thưởng kiến trúc xanh; tổ chức bình chọn các công trình “xanh” tiêu biểu và thúc đẩy tuyên truyền về hoạt động kiến trúc xanh trong xã hội. Đây chính là những hoạt động để giới KTS hướng theo. “Tại Diễn đàn KTS châu Á lần thứ 16 với chủ đề Đô thị châu Á thế kỷ XXI lần đầu tiên Việt Nam đăng cai tổ chức từ 15 - 20/8/2011 tại Đà Nẵng, vấn đề kiến trúc xanh sẽ được đề cập”, KTS Vạn cho biết như vậy.

Nhấn mạnh về vấn đề kiến trúc xanh, KTS Vạn kể về câu chuyện các siêu đô thị (10 triệu dân) đang "chạy" dần từ các nước châu Mỹ về các nước châu Á, nhất là ở Ấn Độ, Nhật, Trung Quốc, Việt Nam khiến những người thờ ơ nhất cũng phải lo lắng. Các siêu đô thị này, theo nhận định của giới KTS, đó là một xu thế thiếu bền vững, tích tụ hàng loạt vấn đề như suy giảm chất lượng môi trường sống, biến đổi khí hậu… Vì vậy, theo KTS Nguyễn Tấn Vạn, Hội KTS sẽ kiến nghị với Đảng, Nhà nước chính thức đưa vấn đề kiến trúc xanh trở thành một định hướng phát triển của kiến trúc Việt Nam trong thời gian tới.

Chúc anh thành công!

  • 0

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#14 linhoreka

linhoreka

    biết lệnh erase

  • Members
  • PipPipPip
  • 106 Bài viết
Điểm đánh giá: 46 (tàm tạm)

Đã gửi 22 March 2011 - 06:20 PM

Quang đi quẩn lại toàn thấy ý tưởng về kết cau không à! Có ai có ý tưởng về kiến trúc không cho xin ít :D

Bạn làm cái thống kê cửa đi cửa sổ ghế bàn tủ giường v.v đi. Sao bạn nhảy sang làm thép làm gì :D
  • 0

#15 linhoreka

linhoreka

    biết lệnh erase

  • Members
  • PipPipPip
  • 106 Bài viết
Điểm đánh giá: 46 (tàm tạm)

Đã gửi 22 March 2011 - 06:33 PM

... 1./ Là Hơi mất công phải dòm trong thư viện rồi lấy Block ra ...

Thì ra ý bác Tuệ không dùng block, vẽ vo hoặc vẽ tự động dựa trên hình của thép! Nếu thế thật thì báo cáo sẽ xấu lắm ! Tự vẽ mà còn chỉnh đi chỉnh lại mới đẹp kia mà !

Ý tưởng cho bạn Tú: tạo 1 bảng insert block trong AutoCAD có filter tên block để phù hợp với từng công việc.
Vì dụ: Chương trình TKT sở dĩ phải tạo bảng insert block riêng vì chỉ định insert những block có tên bắt đầu bằng text "TKT" !
Nếu công việc định là insert block bàn ghế giường tủ chẳng hạn, cần có filter là "*Furniture*", hoặc đơn giản hơn, chọn một folder !
  • 0

#16 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 22 March 2011 - 06:46 PM

Bạn làm cái thống kê cửa đi cửa sổ ghế bàn tủ giường v.v đi. Sao bạn nhảy sang làm thép làm gì :D

Có lẽ phải chăm chút cho phần kiến trúc tí nhể. Nhưng mà các ý tưởng về cái thép sàn nó cứ luổn quẩn trong đầu.
Người nào không biết nhìn mình tưởng bị thần kinh híc .. đó là cái giá phải trả cho niềm đam mê lập trình..
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#17 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 22 March 2011 - 06:53 PM

Thì ra ý bác Tuệ không dùng block, vẽ vo hoặc vẽ tự động dựa trên hình của thép! Nếu thế thật thì báo cáo sẽ xấu lắm ! Tự vẽ mà còn chỉnh đi chỉnh lại mới đẹp kia mà !

Ý tưởng cho bạn Tú: tạo 1 bảng insert block trong AutoCAD có filter tên block để phù hợp với từng công việc.
Vì dụ: Chương trình TKT sở dĩ phải tạo bảng insert block riêng vì chỉ định insert những block có tên bắt đầu bằng text "TKT" !
Nếu công việc định là insert block bàn ghế giường tủ chẳng hạn, cần có filter là "*Furniture*", hoặc đơn giản hơn, chọn một folder !

Cám ơn ý tưởn của bạn. Mình sẽ nghĩ dần ý tưởng này (ý tưởng rất hay đấy).
1. tạo một số mẫu cửa gồm cả mặt đứng và mặt bằng.
2. Insert cửa vào mặt bằng (có một form nhập thông tin chiều rộng, cao, khuôn...) Cái này dùng setxdata.
3. tự động insert chi tiết cửa mặt đứng và thông kê các loại cửa.
Bạn thấy sao?
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#18 linhoreka

linhoreka

    biết lệnh erase

  • Members
  • PipPipPip
  • 106 Bài viết
Điểm đánh giá: 46 (tàm tạm)

Đã gửi 22 March 2011 - 07:03 PM

Có lẽ phải chăm chút cho phần kiến trúc tí nhể. Nhưng mà các ý tưởng về cái thép sàn nó cứ luổn quẩn trong đầu.

Sàn bạn làm không thể bằng tớ dân kết cấu làm đâu. Tớ tự động hóa được từng cái nhỏ là block TKT và Tag thép rồi. Khi nào tớ đưa phần vẽ cấu kiện + tính thép nhanh rồi vẽ thép, hoặc xuất sang SAFE tính rồi nhập kết quả về, thì bạn làm sao theo được ?

Kiến trúc nếu còn phải dựng 3D trong AutoCAD thì cũng là phần chưa có nhiều lắm thì phải ! Xuất nhập sang MAX thế nào thì tớ cũng đâu có dám làm tranh đâu dù thi thoảng cũng luẩn quẩn trong đầu :D
  • 0

#19 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 22 March 2011 - 08:57 PM

Kiến trúc nếu còn phải dựng 3D trong AutoCAD thì cũng là phần chưa có nhiều lắm thì phải ! Xuất nhập sang MAX thế nào thì tớ cũng đâu có dám làm tranh đâu dù thi thoảng cũng luẩn quẩn trong đầu :D

Trong 3DMAX có hẳn một trường trình soạn thảo script riêng. Cái này mình đã từng nghiên cứu nhưng không được mọi người hưởng ứng lắm nên lâu dần cũng quên hết rồi. Trước mình đã lập 1 topic để bàn luận về vấn đề này nhưng không có ai tham gia cả.
http://www.cadviet.c...showtopic=28687
  • 1
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#20 Detailing

Detailing

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 667 Bài viết
Điểm đánh giá: 278 (khá)

Đã gửi 22 March 2011 - 11:51 PM

Trong 3DMAX có hẳn một trường trình soạn thảo script riêng. Cái này mình đã từng nghiên cứu nhưng không được mọi người hưởng ứng lắm nên lâu dần cũng quên hết rồi. Trước mình đã lập 1 topic để bàn luận về vấn đề này nhưng không có ai tham gia cả.
http://www.cadviet.c...showtopic=28687


Bạn đã thử tìm hiểu qua Autodesk Revit Architecture chưa, nó đáp ứng khá tốt trong vấn đề kiến trúc và hình khối không gian mà không cần lập trình nhiều (dùng parametric family) nếu bạn thích tùy biến thêm có thể tham khảo tiếp phần Revit API (viết Add-In cho Revit)
Revit có thể render phối cảnh được mà hình như cũng xuất qua MAX được.
Thân!
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341