<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kfdani-001-site10.gtempurl.com/index.php?action=history&amp;feed=atom&amp;title=OpenSite%2FGuides%2FEdit_duplicate_and_renumber_materials</id>
	<title>OpenSite/Guides/Edit duplicate and renumber materials - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://kfdani-001-site10.gtempurl.com/index.php?action=history&amp;feed=atom&amp;title=OpenSite%2FGuides%2FEdit_duplicate_and_renumber_materials"/>
	<link rel="alternate" type="text/html" href="https://kfdani-001-site10.gtempurl.com/index.php?title=OpenSite/Guides/Edit_duplicate_and_renumber_materials&amp;action=history"/>
	<updated>2026-10-30T02:07:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://kfdani-001-site10.gtempurl.com/index.php?title=OpenSite/Guides/Edit_duplicate_and_renumber_materials&amp;diff=934&amp;oldid=prev</id>
		<title>BathAfrica: Keep copied Python comparison free of wiki-inserted non-breaking whitespace</title>
		<link rel="alternate" type="text/html" href="https://kfdani-001-site10.gtempurl.com/index.php?title=OpenSite/Guides/Edit_duplicate_and_renumber_materials&amp;diff=934&amp;oldid=prev"/>
		<updated>2026-10-29T21:36:54Z</updated>

		<summary type="html">&lt;p&gt;Keep copied Python comparison free of wiki-inserted non-breaking whitespace&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:36, 29 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l38&quot;&gt;Line 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 38:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;copied = opensite.material_duplicate(doc, original_id)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;copied = opensite.material_duplicate(doc, original_id)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;opensite.material_renumber(doc, original_id, 12)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;opensite.material_renumber(doc, original_id, 12)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;assert copied[&quot;id&quot;] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!&lt;/del&gt;= original_id&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;assert &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;not (&lt;/ins&gt;copied[&quot;id&quot;] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;= original_id&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;row = next(m for m in opensite.material_list(doc) if m[&amp;quot;id&amp;quot;] == original_id)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;row = next(m for m in opensite.material_list(doc) if m[&amp;quot;id&amp;quot;] == original_id)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;assert row[&amp;quot;number&amp;quot;] == 12&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;assert row[&amp;quot;number&amp;quot;] == 12&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>BathAfrica</name></author>
	</entry>
	<entry>
		<id>https://kfdani-001-site10.gtempurl.com/index.php?title=OpenSite/Guides/Edit_duplicate_and_renumber_materials&amp;diff=861&amp;oldid=prev</id>
		<title>BathAfrica: Add rewritten practical lesson with steps, code and expected results</title>
		<link rel="alternate" type="text/html" href="https://kfdani-001-site10.gtempurl.com/index.php?title=OpenSite/Guides/Edit_duplicate_and_renumber_materials&amp;diff=861&amp;oldid=prev"/>
		<updated>2026-10-29T21:00:57Z</updated>

		<summary type="html">&lt;p&gt;Add rewritten practical lesson with steps, code and expected results&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
{{OpenSite scope}}&lt;br /&gt;
{{OpenSite lesson&lt;br /&gt;
|id=opensite.help.edit-duplicate-and-renumber-materials&lt;br /&gt;
|summary=Practise material edits, duplication, numbering and deletion without confusing an object ID with a display number.&lt;br /&gt;
|prerequisites=A new practice document. Do not use this deletion exercise on a live project.&lt;br /&gt;
|steps==== Create a practice record ===&lt;br /&gt;
The complete example creates its own user material, so it does not depend on an existing model.&lt;br /&gt;
&lt;br /&gt;
=== Edit Poisson ratio ===&lt;br /&gt;
Change ν to 0.30 through &amp;lt;code&amp;gt;material_edit&amp;lt;/code&amp;gt;. Recomputed G is 210 GPa / 2.6, approximately 80.76923 GPa.&lt;br /&gt;
&lt;br /&gt;
=== Duplicate and renumber ===&lt;br /&gt;
A duplicate receives a different object ID. Renumbering the original to 12 changes its material number and preserves its object ID.&lt;br /&gt;
&lt;br /&gt;
=== Inspect usage before deleting ===&lt;br /&gt;
Read &amp;lt;code&amp;gt;material_usage&amp;lt;/code&amp;gt;. The script deletes only the unused duplicate it created. In the desktop, use the material context menu: {{MenuCommand|Edit}}, {{MenuCommand|Duplicate}}, {{MenuCommand|Show Users}} or {{MenuCommand|Renumber}}.&lt;br /&gt;
&lt;br /&gt;
|result=The original retains its object ID and has number 12. The duplicate has a distinct ID; after its removal one material remains.&lt;br /&gt;
|limitations=Material number, unique internal name and object ID serve different purposes. Removing a record used by other objects requires resolving its references first.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Complete example ==&lt;br /&gt;
{{Code|lang=python|code=&amp;lt;nowiki&amp;gt;import opensite&lt;br /&gt;
&lt;br /&gt;
doc = opensite.execute(&amp;quot;document.new&amp;quot;, {})[&amp;quot;document&amp;quot;]&lt;br /&gt;
values = {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;Practice steel&amp;quot;, &amp;quot;family&amp;quot;: &amp;quot;steel&amp;quot;, &amp;quot;role&amp;quot;: &amp;quot;structural_steel&amp;quot;,&lt;br /&gt;
    &amp;quot;has_elastic&amp;quot;: True, &amp;quot;elastic_pa&amp;quot;: 210.0e9,&lt;br /&gt;
    &amp;quot;has_poisson&amp;quot;: True, &amp;quot;poisson&amp;quot;: 0.28,&lt;br /&gt;
    &amp;quot;has_mass_density&amp;quot;: True, &amp;quot;mass_density&amp;quot;: 7850.0,&lt;br /&gt;
    &amp;quot;has_thermal&amp;quot;: True, &amp;quot;thermal_per_k&amp;quot;: 1.2e-5,&lt;br /&gt;
}&lt;br /&gt;
created = opensite.material_create_user(doc, values)&lt;br /&gt;
original_id = created[&amp;quot;id&amp;quot;]&lt;br /&gt;
values[&amp;quot;poisson&amp;quot;] = 0.30&lt;br /&gt;
opensite.material_edit(doc, original_id, values)&lt;br /&gt;
copied = opensite.material_duplicate(doc, original_id)&lt;br /&gt;
opensite.material_renumber(doc, original_id, 12)&lt;br /&gt;
assert copied[&amp;quot;id&amp;quot;] != original_id&lt;br /&gt;
row = next(m for m in opensite.material_list(doc) if m[&amp;quot;id&amp;quot;] == original_id)&lt;br /&gt;
assert row[&amp;quot;number&amp;quot;] == 12&lt;br /&gt;
print(&amp;quot;Object ID unchanged:&amp;quot;, row[&amp;quot;id&amp;quot;] == original_id)&lt;br /&gt;
print(&amp;quot;Usage:&amp;quot;, opensite.material_usage(doc, original_id)[&amp;quot;count&amp;quot;])&lt;br /&gt;
# Delete only the unused duplicate created in this lesson.&lt;br /&gt;
opensite.material_delete(doc, copied[&amp;quot;id&amp;quot;])&lt;br /&gt;
assert len(opensite.material_list(doc)) == 1&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;os-page-nav&amp;quot;&amp;gt;{{Docnav|OpenSite/Guides/Create a material|OpenSite/Guides/Exchange materials|OpenSite/Guides|All guides}}&amp;lt;/div&amp;gt;&lt;br /&gt;
[[Category:OpenSite documentation]]&lt;/div&gt;</summary>
		<author><name>BathAfrica</name></author>
	</entry>
</feed>