Exporter structure SW vers Robot Structural

Bonjour à tous,

Lors des tests sous Inventor, il était possible d'exporter la structure vers le format .rtd afin de l'importer dans le logiciel de calcul Autodesk Robot Structural.

Savez-vous s'il est possible de faire de même avec SW ? Faut-il passer par un autre format ?

Nous avons tester les formats .DWG, step, ifc, sat et igs mais sans réel succès ....

Merci !

Aurélien

Salut,

A mon avis la seule solution serait de passer par un format neutre pour importer dans Invetor pour exporter en RTD.

Vu que les deux logiciels font partie de la même entreprise, ils essayent de garder la main au maximum sur tout le process.

3 « J'aime »

J'ai effectivement peur que .PL ait raison.

 

tu peux peut-etre tester une magouille en exportant en DWG, puis l'ouvrir avec Autocad et voir si c'est alors possible de le faire en RTD

(si tu as tout en 3D, peut être que ça fonctionne avec autocad 3D ? J'avoue ne pas trop connaitre ce logiciel :s)

Ca sent quand même la passerelle un peu foireuse ;)

2 « J'aime »

Oui, le gros soucis est que nous voulons récupérer l'esquisse 3D (le squelette) de la structure afin de le mettre dans Robot, mais :

Il me semble (à confirmer) qu'il est impossible de convertir une esquisse SW vers un dwg ou un autre format car l'export ne va prendre que les corps en 3D.

Du coup je suis coincé sur ce point d'export ...

@coin37coin, je pourrai effectivement faire cette "magouille" en passant par Inventor qui converti en format RTD mais je ne trouve pas cette passerelle entre mon esquisse 3D SW et le DWG

1 « J'aime »

Mais c'est étrange qu'en SAT ou AICI, ça ne fonctionne pas, voir cette vidéo :

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

SInon, le seul moyen détourné que je vois, mais ça peut prendre un peut de temps, c'est d'exporter les DWG des vues de face, de côté et de dessus. Puis dans DraftSight par exemple, reconstruire le DWG 3D "à la main"... pour l'exporter ensuite...

Je viens de regarder ta vidéo et effectivement cela fonctionne sur du volumique mais je n'ai pas réussi à exporter une esquisse 3D. Je pense que le logiciel convertie les surfaces en données mais comme une esquisse 3D est filaire, il ne trouve pas de surface.

1 « J'aime »

Oui en effet pour une esquisse 3D reste l'autre solution que j'ai proposée dans mon dernier message, mais c'est fastidieux.

Bonjour,

Réponse tardive mais bon je viens de faire le test chez un client et en IGES en cochant bien dasn les options d'export de SolidWorks l'export d'esquisse 3d et ou courbe 3d cela fonctionne.

@+

2 « J'aime »

Bonjour

Je dépoussière le sujet

Une question sur le Autodesk Inventor Analyse de l’ossature dans les comléments.
Dans mon cas quand j’ouvre robot (version 2022) je ne trouve le complément. Comme son nom l’indique c’est un complément, mais quand je vais sur le store je ne trouve pas ce complément!!
Robot je début, je n’ai modélisé qu’une fois une charpente

Record battu ! :rofl:
image

5 « J'aime »

Je le voulais ce record je le voulais :grinning:
Je suis fière de moi …

3 « J'aime »

Même pas, record raté un an trop tôt!
Tu monte sur la petite marche du podium en revanche!
Voir le top ci-joint:
Top_Deterrages_20261019_164625.pdf (93,7 Ko)

2 « J'aime »

CHOC 2

2 « J'aime »

Y en a qui ont du temps libre!!!
Sinon cela correspond à quoi la colonne « DU »?
C’est du VBA? :rofl:

2 « J'aime »

C’est l’IA qui m’a fait le code en 10mn (1 ou 2 rectifications et fonctionnelle!)
Et pour une chose d’importance comme celle là, il faut passer le temps qu’il faut @Le_Bidule ! :stuck_out_tongue_winking_eye:

Script en PowerShell ci-dessous.
Je ne connaissais pas du tout et j’avoue c’est plutôt puissant et j’ai fait d’autres scripts interne à mon entreprise depuis (toujours avec l’IA puisque je ne connait pas le language!
Pour ceux que cela intéresse à mettre dans un fichier à enregistrer en .ps1 (avec le bloc note), puis faire executé.

$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

Edit:
@Le_Bidule erreur de nommage des colonne effectivement.
Du c’est le nombre d’année entre le dernier message et le déterrage.
Sujet remplace Année comme titre de colonne et le reste est décalé d’un cran vers la droite! Je vais engueuler l’IA de ce pas, pas foutu de faire quelque chose de correct!
image

3 « J'aime »

intéressant tout cela (quoique…)
voici le même script avec des commentaires ajoutés par l’IA (Le Chat):

# ============================================================
#  É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

Et en prime le commentaire du « Chat » sur le script lui même:

:bulb: Une petite anomalie repérée au passage : ta ligne d’en-têtes contient 5 colonnes (Années, Du, Au, Messages, Sujet) mais chaque ligne de données en produit 6 (une en trop pour le rang). Ajoute <th>Rang</th> en tête de la ligne d’en-tête pour que les 6 colonnes aient toutes un titre — sinon la colonne des rangs n’a pas de titre dans le rapport.

2 « J'aime »

@sbadenis

Il faut la colonne pseudo si ce n’est déjà fait :grinning: la sixième colonne :wink:

1 « J'aime »

Le chat à par tort il manque le libellé pour la colonne lien:
Correction de la partie table qui était erronée:

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

Et pour @FRED78 je ne site pas le nom juste le lien vers le sujet, il ne faudrait pas que cela devienne une habitude ou une recherche de l’exploit!
Top corrigé (le nom de colonnes le classement reste inchangé!)

1 « J'aime »

Non ce n’est pas l’exploit recherché, se sujet est intéressant dans mon cas. Nous fonctionnons entre autres sur SW et inventor, et en calcul sur ROBOT. Au vu de la modélisation sur ROBOT passer par un logiciel CAO est une bonne solution.

Quelle est l’objectif de ces statistiques

2 « J'aime »

Aucun!
C’était juste sur un autre sujet déterré que j’avais eu cette idée absurde mais qui me fait rire!
Bon courage pour ton sujet sur lequel tu noteras je n’ai rien de concret à te proposer!

2 « J'aime »