Eksport struktury oprogramowania do programu Structural Robot

Cze wszystkim

Podczas testów w programie Inventor udało się wyeksportować konstrukcję do formatu .rtd w celu zaimportowania jej do oprogramowania obliczeniowego Autodesk Structural Robot.

Czy wiesz, czy można zrobić to samo z oprogramowaniem? Czy powinniśmy skorzystać z innego formatu?

Przetestowaliśmy plik . DWG, step, ifc, sat i igs, ale bez prawdziwego sukcesu....

Dziękuję!

Aurélien

Witam

Moim zdaniem jedynym rozwiązaniem byłoby przejście przez neutralny format importu do Invetor w celu eksportu w RTD.

Ponieważ oba programy są częścią tej samej firmy, starają się zachować jak największą kontrolę nad całym procesem.

3 polubienia

Obawiam się, że .PL jest słuszne.

 

może możesz przetestować schemat, eksportując go w DWG, a następnie otworzyć go za pomocą Autocada i sprawdzić, czy można to zrobić w RTD

(jeśli masz wszystko w 3D, może to działa z AutoCAD 3D? Przyznam, że nie znam się zbytnio na tym oprogramowaniu :s)

Czy nadal pachnie jak trochę pobałaganiona kładka;)

2 polubienia

Tak, dużym problemem jest to, że chcemy uzyskać szkic 3D (szkielet) konstrukcji, aby umieścić go w Robocie, ale:

Wydaje mi się (do potwierdzenia), że niemożliwe jest przekonwertowanie szkicu SW na dwg lub inny format, ponieważ eksport będzie obejmował tylko bryły 3D.

Więc utknąłem w tym punkcie eksportu...

@coin37coin, mogę zrobić to "wybryki", przechodząc przez Inventora, który został przekonwertowany do formatu RTD, ale nie mogę znaleźć tego pomostu między moim szkicem 3D SW a DWG

1 polubienie

Ale dziwne jest, że w SAT lub AICI to nie działa, zobacz ten film:

https://www.youtube.com/watch?v=Eb54_D4QSvo

W przeciwnym razie jedynym okrężnym sposobem, jaki widzę, ale może to zająć trochę czasu, jest wyeksportowanie pliku DWG widoków z przodu, boku i z góry. Następnie, na przykład w DraftSight, zrekonstruuj plik DWG 3D "ręcznie"... aby wyeksportować go później...

Właśnie obejrzałem twój film i rzeczywiście działa na dużą objętość, ale nie udało mi się wyeksportować szkicu 3D. Myślę, że oprogramowanie konwertuje powierzchnie na dane, ale ponieważ szkic 3D jest szkicowy, nie znajduje powierzchni.

1 polubienie

Tak, rzeczywiście, szkic 3D pozostaje innym rozwiązaniem, które zaproponowałem w mojej ostatniej wiadomości, ale jest to żmudne.

Witam

Spóźniona odpowiedź, ale hej, właśnie zrobiłem test u klienta i w IGES, sprawdzając opcje eksportu SolidWorks, eksport szkiców 3d i / lub krzywych 3d, to działa.

@+

2 polubienia

Cześć

Odkurzam temat

Pytanie dotyczące analizy strukturalnej w budynkach Autodesk Inventor.
W moim przypadku, gdy otwieram Robot (wersja 2022), nie mogę znaleźć komplementu. Jak sama nazwa wskazuje, to komplement, ale gdy idę do sklepu, nie mogę go znaleźć!!
Robocie: Zaczynam, modelowałem framework tylko raz

Rekord pobił! :rofl:
image

5 polubień

Chciałem tego albumu, chciałem go :grinning:
Jestem z siebie dumny...

3 polubienia

Nawet nie – rekord został przegapiony o rok za wcześnie!
Ty natomiast wchodzisz na mały stopień podium!
Zobacz załączoną górę:
Top_Deterrages_20261019_164625.pdf (93,7 KB)

2 polubienia

CHOC 2

2 polubienia

Niektórzy mają wolny czas!!
Jeśli nie, to do czego odpowiada kolumna " DU "?
Czy to VBA? :rofl:

2 polubienia

To AI stworzyło kod w 10 minut (1 lub 2 poprawki i działa!)
A na coś tak ważnego trzeba poświęcić tyle czasu, ile potrzebujesz @Le_Bidule ! :stuck_out_tongue_winking_eye:

Poniżej znajduje się skrypt PowerShell.
Nie wiedziałem o tym nic i przyznaję, że jest dość potężny, a od tamtej pory robiłem inne wewnętrzne skrypty w mojej firmie (nadal z AI, bo nie znam języka!
Dla tych, którzy chcą umieścić to w pliku do zapisu w .ps1 (z notatnikiem), niech to wykona.

$BaseUrl = "https://forum.mycad.visiativ.com"
$NbPages = 20

$results = @()

for ($page = 0; $page -lt $NbPages; $page++)
{
    Write-Host "Page $page"

    $latest = Invoke-RestMethod "$BaseUrl/latest.json?page=$page"

    foreach ($topic in $latest.topic_list.topics)
    {
        try
        {
            $detail = Invoke-RestMethod "$BaseUrl/t/$($topic.id).json"

            $posts = $detail.post_stream.posts | Sort-Object created_at

            if ($posts.Count -lt 2)
            {
                continue
            }

            $MaxGapDays = 0
            $GapStart = $null
            $GapEnd = $null

            for ($i = 1; $i -lt $posts.Count; $i++)
            {
                $d1 = Get-Date $posts[$i-1].created_at
                $d2 = Get-Date $posts[$i].created_at

                $GapDays = ($d2 - $d1).TotalDays

                if ($GapDays -gt $MaxGapDays)
                {
                    $MaxGapDays = $GapDays
                    $GapStart = $d1
                    $GapEnd = $d2
                }
            }

            $Years = "{0:N2}" -f ($MaxGapDays / 365.25)       
            $results += [PSCustomObject]@{
                Annees   = $Years
                Debut    = $GapStart.ToString("dd/MM/yyyy")
                Fin      = $GapEnd.ToString("dd/MM/yyyy")
                Messages = $posts.Count
                Titre    = $topic.title
                Url      = "$BaseUrl/t/$($topic.id)"
            }
        }
        catch
        {
            Write-Host "Erreur sujet $($topic.id)"
        }
    }
}

$results = $results |
    Sort-Object {[double]$_.Annees} -Descending |
    Select-Object -First 20

$DateRapport = Get-Date -Format "yyyyMMdd_HHmmss"
$Fichier = "D:\Top_Deterrages_$DateRapport.html"

$html = @"
<html>
<head>
<meta charset='utf-8'>

<title>Top Déterrages Forum MyCAD</title>

<style>
body{
    font-family:Segoe UI;
}

table{
    border-collapse:collapse;
    width:100%;
}

th,td{
    border:1px solid #cccccc;
    padding:6px;
}

th{
    background:#0078D7;
    color:white;
}

tr:nth-child(even){
    background:#f5f5f5;
}
</style>

</head>
<body>

<h1>Top Déterrages Forum MyCAD</h1>

<table>

<tr>
<th>Années</th>
<th>Du</th>
<th>Au</th>
<th>Messages</th>
<th>Sujet</th>
</tr>

"@

$rang = 1
foreach ($r in $results)
{
    $Lien = "<" + "a href='" + $r.Url + "' target='_blank'>" + $r.Titre + "</a>"

    $html += @"
<tr>
<td>$rang</td>
<td>$($r.Annees)</td>
<td>$($r.Debut)</td>
<td>$($r.Fin)</td>
<td>$($r.Messages)</td>
<td>$Lien</td>
</tr>
"@

    $rang++
}


$html += @"

</table>

</body>
</html>

"@

$html | Set-Content $Fichier -Encoding UTF8

Write-Host ""
Write-Host "Rapport créé : $Fichier" -ForegroundColor Green

Start-Process $Fichier

Edycja:
@Le_Bidule rzeczywiście błąd w nazewnictwie kolumn.
Du to liczba lat między ostatnią wiadomością a wykopaliskami.
Podmiot zastępuje Rok jako tytuł kolumny, a reszta jest przesunięta o stopień w prawo! Zamierzam teraz nakrzyczeć na AI, nie jest pokręcona, żeby zrobić coś dobrze!
image

3 polubienia

Ciekawe to wszystko (chociaż...)
oto ten sam skrypt z komentarzami dodanymi przez AI (Kota):

# ============================================================
#  ÉTAPE 1 : Sélection du "Top 20"
# ============================================================
# On enchaîne trois opérations sur la variable $results :
#   - Sort-Object : trie les résultats par la propriété "Annees",
#     convertie en nombre ([double]) pour éviter un tri alphabétique
#     (sinon "10" serait classé avant "9"). -Descending = du plus
#     grand au plus petit.
#   - Select-Object -First 20 : on ne garde que les 20 premiers.
#   - Le résultat final réécrase $results (affectation avec =).
$results = $results |
    Sort-Object {[double]$_.Annees} -Descending |
    Select-Object -First 20

# ============================================================
#  ÉTAPE 2 : Préparation du nom de fichier
# ============================================================
# Get-Date -Format "yyyyMMdd_HHmmss" produit un horodatage, ex : 20261020_143521.
# Ça rend le nom de fichier unique à chaque exécution : on ne risque
# pas d'écraser un rapport précédent.
$DateRapport = Get-Date -Format "yyyyMMdd_HHmmss"

# On construit le chemin complet en interpolant la date dans le nom.
# Attention : D:\ implique que ce lecteur existe (Windows seulement).
$Fichier = "D:\Top_Deterrages_$DateRapport.html"

# ============================================================
#  ÉTAPE 3 : Construction de l'en-tête HTML (here-string @"..."@)
# ============================================================
# @"..."@" est une "here-string" : elle permet d'écrire un gros bloc
# de texte multiligne sans se soucier des guillemets.
# ⚠️ Le @" d'ouverture et le "@ de fermeture doivent être seuls sur
# leur ligne, sinon PowerShell ne reconnaît pas le bloc.
$html = @"
<html>
<head>
<meta charset='utf-8'>   <!-- Encodage UTF-8 : indispensable pour les accents français -->

<title>Top Déterrages Forum MyCAD</title>

<style>
/* CSS embarqué : mise en forme du rapport */
body{
    font-family:Segoe UI;      /* Police Windows moderne */
}

table{
    border-collapse:collapse; /* Fusionne les bordures de cellules (rendu propre) */
    width:100%;               /* Table occupe toute la largeur de la page */
}

th,td{
    border:1px solid #cccccc; /* Bordure gris clair autour de chaque cellule */
    padding:6px;               /* Espace intérieur : texte moins collé aux bords */
}

th{
    background:#0078D7;       /* Fond bleu "Microsoft" pour la ligne d'en-têtes */
    color:white;              /* Texte blanc sur fond bleu */
}

tr:nth-child(even){
    background:#f5f5f5;       /* Zébrage : 1 ligne sur 2 en gris très clair */
}                             /* → facilite la lecture ligne par ligne */
</style>

</head>
<body>

<h1>Top Déterrages Forum MyCAD</h1>

<table>

<!-- Ligne d'en-tête du tableau : une cellule <th> par colonne -->
<tr>
<th>Années</th>
<th>Du</th>
<th>Au</th>
<th>Messages</th>
<th>Sujet</th>
</tr>

"@

# ============================================================
#  ÉTAPE 4 : Génération des lignes du tableau
# ============================================================
# $rang est un compteur initialisé à 1 ; il servira à numéroter
# les lignes (1er, 2e, 3e... du top).
$rang = 1

# On parcourt chaque objet $r contenu dans $results.
foreach ($r in $results)
{
    # On fabrique un lien hypertexte HTML <a href='...'>Titre</a>.
    # Le titre du sujet "<"a ..." est construit par concaténation (+)
    # plutôt que par interpolation, pour éviter que PowerShell
    # interprète les chevrons < > ou les guillemets du HTML.
    # target='_blank' : le lien s'ouvre dans un nouvel onglet.
    $Lien = "<" + "a href='" + $r.Url + "' target='_blank'>" + $r.Titre + "</a>"

    # Ici, la syntaxe $(...) à l'intérieur de la here-string force
    # l'évaluation des propriétés : $($r.Annees) insère la valeur de
    # la propriété Annees de l'objet courant $r.
    # Sans les $(), PowerShell chercherait littéralement "$r.Annees".
    $html += @"
<tr>
<td>$rang</td>
<td>$($r.Annees)</td>
<td>$($r.Debut)</td>
<td>$($r.Fin)</td>
<td>$($r.Messages)</td>
<td>$Lien</td>
</tr>
"@

    # Incrémentation du compteur : $rang++ équivaut à $rang = $rang + 1.
    $rang++
}

# ============================================================
#  ÉTAPE 5 : Fermeture du document HTML
# ============================================================
# On ajoute les balises de fermeture </table>, </body>, </html>
# pour obtenir un document HTML complet et valide.
$html += @"

</table>

</body>
</html>

"@

# ============================================================
#  ÉTAPE 6 : Écriture sur disque et ouverture
# ============================================================
# Set-Content écrit la chaîne $html dans le fichier.
# -Encoding UTF8 : garantit que les accents (é, è...) seront
# correctement enregistrés et affichés dans le navigateur.
$html | Set-Content $Fichier -Encoding UTF8

# Write-Host affiche un message dans la console (pure info utilisateur).
# -ForegroundColor Green : texte en vert, plus visible.
# Les deux Write-Host "" vides ajoutent juste une ligne vide
# avant/après pour aérer l'affichage.
Write-Host ""
Write-Host "Rapport créé : $Fichier" -ForegroundColor Green

# Start-Process ouvre le fichier avec l'application associée
# à l'extension .html → le rapport s'affiche dans le navigateur
# par défaut. Pratique pour vérifier le résultat immédiatement.
Start-Process $Fichier

A jako bonus, komentarz " Kota " pod samym scenariuszem:

:bulb:Mała anomalia zauważona swoją drogą: twój wiersz nagłówka zawiera 5 kolumn (Années, Du, Au, Messages, Sujet), ale każdy wiersz danych generuje 6 (o jeden za dużo w tym wierszu). Dodaj <th>Rang</th> na górę wiersza nagłówka tak, aby wszystkie 6 kolumn miało tytuł — w przeciwnym razie kolumna wierszy nie ma tytułu w raporcie.

2 polubienia

@sbadenis

Jeśli jeszcze tego :grinning: nie zrobiłeś, potrzebujesz pseudokolumny :wink:

1 polubienie

Kot przez pomyłkę nie wpisał etykiety w kolumnie linków:
Poprawiłem część stołową, która była błędna:

<table>
<tr>
<th>Sujet</th>
<th>Années</th>
<th>Du</th>
<th>Au</th>
<th>Messages</th>
<th>Lien</th>
</tr>

A @FRED78 nie podaję nazwy, tylko link do tematu, nie powinno to stać się nawykiem ani poszukiwaniem tego atutu!
Góra poprawiona (nazwy kolumn i rankingi pozostają bez zmian!)

1 polubienie

Nie, to nie jest osiągnięcie, którego szukamy, ten temat jest interesujący w moim przypadku. Pracujemy między innymi nad SW i Inventor, a nad obliczeniami na ROBOT. Biorąc pod uwagę modelowanie na ROBOT, użycie oprogramowania CAD jest dobrym rozwiązaniem.

Jaki jest cel tych statystyk

2 polubienia

Żadnych!
To właśnie na inny odkryty temat wpadłem na ten absurdalny pomysł, który mnie rozbawia!
Powodzenia z tematem, o którym zauważysz, nie mam nic konkretnego do zaoferowania!

2 polubienia